From ab42fb3032acd29dd12cea7897f85025526a60e6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 27 Jan 2025 22:52:41 +0200 Subject: [PATCH 01/35] [SuiteSparse] Update and split into sub-packages (v2) (#41929) Co-authored-by: Monica Co-authored-by: Monica --- ports/ceres/0001_cmakelists_fixes.patch | 60 +--- .../0003_fix_exported_ceres_config.patch | 19 +- ports/ceres/vcpkg.json | 10 +- ports/colmap/vcpkg.json | 1 + ports/g2o/portfile.cmake | 1 + ports/g2o/vcpkg.json | 5 +- ports/suitesparse-amd/portfile.cmake | 33 ++ ports/suitesparse-amd/vcpkg.json | 19 ++ ports/suitesparse-btf/portfile.cmake | 36 +++ ports/suitesparse-btf/vcpkg.json | 19 ++ ports/suitesparse-camd/portfile.cmake | 33 ++ ports/suitesparse-camd/vcpkg.json | 19 ++ ports/suitesparse-ccolamd/portfile.cmake | 33 ++ ports/suitesparse-ccolamd/vcpkg.json | 19 ++ ...001-dont-override-cuda-architectures.patch | 47 +++ ports/suitesparse-cholmod/portfile.cmake | 59 ++++ ports/suitesparse-cholmod/vcpkg.json | 71 +++++ ports/suitesparse-colamd/portfile.cmake | 33 ++ ports/suitesparse-colamd/vcpkg.json | 19 ++ .../suitesparse-config/SuiteSparseBLAS.cmake | 9 + ports/suitesparse-config/portfile.cmake | 52 ++++ ports/suitesparse-config/vcpkg.json | 24 ++ .../001-detect-complex-support.patch | 14 + ports/suitesparse-cxsparse/portfile.cmake | 38 +++ ports/suitesparse-cxsparse/vcpkg.json | 19 ++ ports/suitesparse-graphblas/portfile.cmake | 45 +++ ports/suitesparse-graphblas/vcpkg.json | 26 ++ ports/suitesparse-klu/portfile.cmake | 48 +++ ports/suitesparse-klu/vcpkg.json | 30 ++ ports/suitesparse-lagraph/portfile.cmake | 42 +++ ports/suitesparse-lagraph/vcpkg.json | 32 ++ ports/suitesparse-ldl/portfile.cmake | 36 +++ ports/suitesparse-ldl/vcpkg.json | 20 ++ ports/suitesparse-mongoose/portfile.cmake | 37 +++ ports/suitesparse-mongoose/vcpkg.json | 24 ++ ports/suitesparse-paru/portfile.cmake | 46 +++ ports/suitesparse-paru/vcpkg.json | 35 +++ ports/suitesparse-rbio/portfile.cmake | 33 ++ ports/suitesparse-rbio/vcpkg.json | 19 ++ ports/suitesparse-spex/portfile.cmake | 45 +++ ports/suitesparse-spex/vcpkg.json | 36 +++ ...001-dont-override-cuda-architectures.patch | 47 +++ ports/suitesparse-spqr/portfile.cmake | 61 ++++ ports/suitesparse-spqr/vcpkg.json | 34 +++ ports/suitesparse-umfpack/portfile.cmake | 45 +++ ports/suitesparse-umfpack/vcpkg.json | 31 ++ ports/suitesparse/FindCXSparse.cmake | 73 ----- ports/suitesparse/build_fixes.patch | 281 ------------------ ports/suitesparse/portfile.cmake | 56 +--- .../vcpkg-cmake-wrapper_cxsparse.cmake | 10 - ports/suitesparse/vcpkg.json | 109 ++++++- scripts/ci.baseline.txt | 13 + scripts/update_suitesparse.py | 120 ++++++++ versions/baseline.json | 82 ++++- versions/c-/ceres.json | 5 + versions/c-/colmap.json | 5 + versions/g-/g2o.json | 5 + versions/s-/suitesparse-amd.json | 9 + versions/s-/suitesparse-btf.json | 9 + versions/s-/suitesparse-camd.json | 9 + versions/s-/suitesparse-ccolamd.json | 9 + versions/s-/suitesparse-cholmod.json | 9 + versions/s-/suitesparse-colamd.json | 9 + versions/s-/suitesparse-config.json | 9 + versions/s-/suitesparse-cxsparse.json | 9 + versions/s-/suitesparse-graphblas.json | 9 + versions/s-/suitesparse-klu.json | 9 + versions/s-/suitesparse-lagraph.json | 9 + versions/s-/suitesparse-ldl.json | 9 + versions/s-/suitesparse-mongoose.json | 9 + versions/s-/suitesparse-paru.json | 9 + versions/s-/suitesparse-rbio.json | 9 + versions/s-/suitesparse-spex.json | 9 + versions/s-/suitesparse-spqr.json | 9 + versions/s-/suitesparse-umfpack.json | 9 + versions/s-/suitesparse.json | 5 + versions/t-/theia.json | 5 + 77 files changed, 1891 insertions(+), 504 deletions(-) create mode 100644 ports/suitesparse-amd/portfile.cmake create mode 100644 ports/suitesparse-amd/vcpkg.json create mode 100644 ports/suitesparse-btf/portfile.cmake create mode 100644 ports/suitesparse-btf/vcpkg.json create mode 100644 ports/suitesparse-camd/portfile.cmake create mode 100644 ports/suitesparse-camd/vcpkg.json create mode 100644 ports/suitesparse-ccolamd/portfile.cmake create mode 100644 ports/suitesparse-ccolamd/vcpkg.json create mode 100644 ports/suitesparse-cholmod/001-dont-override-cuda-architectures.patch create mode 100644 ports/suitesparse-cholmod/portfile.cmake create mode 100644 ports/suitesparse-cholmod/vcpkg.json create mode 100644 ports/suitesparse-colamd/portfile.cmake create mode 100644 ports/suitesparse-colamd/vcpkg.json create mode 100644 ports/suitesparse-config/SuiteSparseBLAS.cmake create mode 100644 ports/suitesparse-config/portfile.cmake create mode 100644 ports/suitesparse-config/vcpkg.json create mode 100644 ports/suitesparse-cxsparse/001-detect-complex-support.patch create mode 100644 ports/suitesparse-cxsparse/portfile.cmake create mode 100644 ports/suitesparse-cxsparse/vcpkg.json create mode 100644 ports/suitesparse-graphblas/portfile.cmake create mode 100644 ports/suitesparse-graphblas/vcpkg.json create mode 100644 ports/suitesparse-klu/portfile.cmake create mode 100644 ports/suitesparse-klu/vcpkg.json create mode 100644 ports/suitesparse-lagraph/portfile.cmake create mode 100644 ports/suitesparse-lagraph/vcpkg.json create mode 100644 ports/suitesparse-ldl/portfile.cmake create mode 100644 ports/suitesparse-ldl/vcpkg.json create mode 100644 ports/suitesparse-mongoose/portfile.cmake create mode 100644 ports/suitesparse-mongoose/vcpkg.json create mode 100644 ports/suitesparse-paru/portfile.cmake create mode 100644 ports/suitesparse-paru/vcpkg.json create mode 100644 ports/suitesparse-rbio/portfile.cmake create mode 100644 ports/suitesparse-rbio/vcpkg.json create mode 100644 ports/suitesparse-spex/portfile.cmake create mode 100644 ports/suitesparse-spex/vcpkg.json create mode 100644 ports/suitesparse-spqr/001-dont-override-cuda-architectures.patch create mode 100644 ports/suitesparse-spqr/portfile.cmake create mode 100644 ports/suitesparse-spqr/vcpkg.json create mode 100644 ports/suitesparse-umfpack/portfile.cmake create mode 100644 ports/suitesparse-umfpack/vcpkg.json delete mode 100644 ports/suitesparse/FindCXSparse.cmake delete mode 100644 ports/suitesparse/build_fixes.patch delete mode 100644 ports/suitesparse/vcpkg-cmake-wrapper_cxsparse.cmake create mode 100755 scripts/update_suitesparse.py create mode 100644 versions/s-/suitesparse-amd.json create mode 100644 versions/s-/suitesparse-btf.json create mode 100644 versions/s-/suitesparse-camd.json create mode 100644 versions/s-/suitesparse-ccolamd.json create mode 100644 versions/s-/suitesparse-cholmod.json create mode 100644 versions/s-/suitesparse-colamd.json create mode 100644 versions/s-/suitesparse-config.json create mode 100644 versions/s-/suitesparse-cxsparse.json create mode 100644 versions/s-/suitesparse-graphblas.json create mode 100644 versions/s-/suitesparse-klu.json create mode 100644 versions/s-/suitesparse-lagraph.json create mode 100644 versions/s-/suitesparse-ldl.json create mode 100644 versions/s-/suitesparse-mongoose.json create mode 100644 versions/s-/suitesparse-paru.json create mode 100644 versions/s-/suitesparse-rbio.json create mode 100644 versions/s-/suitesparse-spex.json create mode 100644 versions/s-/suitesparse-spqr.json create mode 100644 versions/s-/suitesparse-umfpack.json diff --git a/ports/ceres/0001_cmakelists_fixes.patch b/ports/ceres/0001_cmakelists_fixes.patch index e57308a737db26..d2a37d682d8c98 100644 --- a/ports/ceres/0001_cmakelists_fixes.patch +++ b/ports/ceres/0001_cmakelists_fixes.patch @@ -2,63 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e49c19e..f8c61d92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -292,27 +292,28 @@ if (SUITESPARSE) - # built with SuiteSparse support. - - # Check for SuiteSparse and dependencies. -- find_package(SuiteSparse 4.5.6 COMPONENTS CHOLMOD SPQR -- OPTIONAL_COMPONENTS Partition) -- if (SuiteSparse_FOUND) -- set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION})") -+ find_package(SuiteSparse REQUIRED CONFIG) -+ if (SUITESPARSE_FOUND) -+ set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION} CONFIG)") - # By default, if all of SuiteSparse's dependencies are found, Ceres is - # built with SuiteSparse support. - message("-- Found SuiteSparse ${SuiteSparse_VERSION}, " - "building with SuiteSparse.") -- -- if (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) -- install(FILES ${Ceres_SOURCE_DIR}/cmake/FindSuiteSparse.cmake -- ${Ceres_SOURCE_DIR}/cmake/FindMETIS.cmake -- DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) -- endif (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) -- else (SuiteSparse_FOUND) -+ add_library(SuiteSparse::CONFIG ALIAS SuiteSparse::suitesparseconfig) -+ add_library(SuiteSparse::AMD ALIAS SuiteSparse::amd) -+ add_library(SuiteSparse::CAMD ALIAS SuiteSparse::camd) -+ add_library(SuiteSparse::CCOLAMD ALIAS SuiteSparse::ccolamd) -+ add_library(SuiteSparse::COLAMD ALIAS SuiteSparse::colamd) -+ add_library(SuiteSparse::CHOLMOD ALIAS SuiteSparse::cholmod) -+ add_library(SuiteSparse::SPQR ALIAS SuiteSparse::spqr) -+ add_library(METIS::METIS ALIAS metis) -+ else (SUITESPARSE_FOUND) - # Disable use of SuiteSparse if it cannot be found and continue. - message("-- Did not find all SuiteSparse dependencies, disabling " - "SuiteSparse support.") - update_cache_variable(SUITESPARSE OFF) - list(APPEND CERES_COMPILE_OPTIONS CERES_NO_SUITESPARSE) -- endif (SuiteSparse_FOUND) -+ endif (SUITESPARSE_FOUND) - else (SUITESPARSE) - message("-- Building without SuiteSparse.") - list(APPEND CERES_COMPILE_OPTIONS CERES_NO_SUITESPARSE) -@@ -395,9 +396,12 @@ endif() - # GFlags. - if (GFLAGS) - # Don't search with REQUIRED as we can continue without gflags. -- find_package(gflags 2.2.0) -+ find_package(gflags CONFIG REQUIRED) - if (gflags_FOUND) -- if (TARGET gflags) -+ if (TARGET gflags::gflags) -+ if(NOT TARGET gflags) -+ add_library(gflags ALIAS gflags::gflags) -+ endif() - message("-- Found Google Flags (gflags) version ${gflags_VERSION}: ${gflags_DIR}") - else() - message("-- Detected version of gflags: ${gflags_VERSION} does not define " -@@ -430,28 +434,7 @@ if (MINIGLOG) +@@ -430,28 +430,7 @@ if (MINIGLOG) mark_as_advanced(FORCE GLOG_INCLUDE_DIR GLOG_LIBRARY) else (MINIGLOG) @@ -88,7 +32,7 @@ index 8e49c19e..f8c61d92 100644 endif (MINIGLOG) if (NOT SCHUR_SPECIALIZATIONS) -@@ -466,7 +449,7 @@ endif (NOT CUSTOM_BLAS) +@@ -466,7 +445,7 @@ endif (NOT CUSTOM_BLAS) if (BUILD_BENCHMARKS) # Version 1.3 was first to provide import targets diff --git a/ports/ceres/0003_fix_exported_ceres_config.patch b/ports/ceres/0003_fix_exported_ceres_config.patch index 008d798bafd569..b2c098a83f6be5 100644 --- a/ports/ceres/0003_fix_exported_ceres_config.patch +++ b/ports/ceres/0003_fix_exported_ceres_config.patch @@ -2,16 +2,28 @@ diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in index ceb7e269..5dee7e3c 100644 --- a/cmake/CeresConfig.cmake.in +++ b/cmake/CeresConfig.cmake.in -@@ -195,7 +195,7 @@ set(CERES_EIGEN_VERSION @Eigen3_VERSION@) +@@ -178,7 +178,10 @@ + include(CMakeFindDependencyMacro) + # Optional dependencies + @METIS_DEPENDENCY@ +-@SuiteSparse_DEPENDENCY@ ++if (@SUITESPARSE@) ++ find_dependency(CHOLMOD) ++ find_dependency(SPQR) ++endif() + @CUDAToolkit_DEPENDENCY@ + @Threads_DEPENDENCY@ + +@@ -195,7 +198,7 @@ # Search quietly to control the timing of the error message if not found. The # search should be for an exact match, but for usability reasons do a soft # match and reject with an explanation below. -find_package(Eigen3 ${CERES_EIGEN_VERSION} QUIET) -+find_package(Eigen3 CONFIG ${CERES_EIGEN_VERSION} QUIET) ++find_dependency(Eigen3 CONFIG ${CERES_EIGEN_VERSION} QUIET) if (Eigen3_FOUND) if (NOT Eigen3_VERSION VERSION_EQUAL CERES_EIGEN_VERSION) # CMake's VERSION check in FIND_PACKAGE() will accept any version >= the -@@ -217,55 +217,8 @@ else (Eigen3_FOUND) +@@ -217,55 +220,7 @@ endif (Eigen3_FOUND) # glog (and maybe gflags). @@ -64,7 +76,6 @@ index ceb7e269..5dee7e3c 100644 - endif() - endif() -endif(CERES_USES_MINIGLOG) -+include(CMakeFindDependencyMacro) +find_dependency(glog NO_MODULE) # Import exported Ceres targets, if they have not already been imported. diff --git a/ports/ceres/vcpkg.json b/ports/ceres/vcpkg.json index 45492e32e82c46..5620a649db6a66 100644 --- a/ports/ceres/vcpkg.json +++ b/ports/ceres/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ceres", "version": "2.2.0", + "port-version": 1, "description": "non-linear optimization package", "homepage": "https://github.com/ceres-solver/ceres-solver", "license": "Apache-2.0", @@ -49,9 +50,12 @@ ] }, { - "name": "suitesparse", - "default-features": false - } + "name": "suitesparse-cholmod", + "features": [ + "matrixops" + ] + }, + "suitesparse-spqr" ] }, "tools": { diff --git a/ports/colmap/vcpkg.json b/ports/colmap/vcpkg.json index 68593c5c181fa9..419a3282f475ac 100644 --- a/ports/colmap/vcpkg.json +++ b/ports/colmap/vcpkg.json @@ -1,6 +1,7 @@ { "name": "colmap", "version": "3.11.1", + "port-version": 1, "description": "COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license.", "homepage": "https://colmap.github.io/", "license": "BSD-3-Clause", diff --git a/ports/g2o/portfile.cmake b/ports/g2o/portfile.cmake index c6ef1910448ce5..3d756907e7d8c8 100644 --- a/ports/g2o/portfile.cmake +++ b/ports/g2o/portfile.cmake @@ -25,6 +25,7 @@ vcpkg_cmake_configure( -DBUILD_LGPL_SHARED_LIBS=${BUILD_LGPL_SHARED_LIBS} -DG2O_BUILD_EXAMPLES=OFF -DG2O_BUILD_APPS=OFF + -DBUILD_CSPARSE=OFF ) vcpkg_cmake_install() diff --git a/ports/g2o/vcpkg.json b/ports/g2o/vcpkg.json index c54ff90755dd66..cf172187116022 100644 --- a/ports/g2o/vcpkg.json +++ b/ports/g2o/vcpkg.json @@ -1,14 +1,15 @@ { "name": "g2o", "version-date": "2024-12-14", - "port-version": 2, + "port-version": 3, "description": "g2o: A General Framework for Graph Optimization", "homepage": "https://openslam.org/g2o.html", "dependencies": [ "ceres", "eigen3", "lapack", - "suitesparse", + "suitesparse-cholmod", + "suitesparse-cxsparse", { "name": "vcpkg-cmake", "host": true diff --git a/ports/suitesparse-amd/portfile.cmake b/ports/suitesparse-amd/portfile.cmake new file mode 100644 index 00000000000000..af24ce9d62e0be --- /dev/null +++ b/ports/suitesparse-amd/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME AMD) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-amd/vcpkg.json b/ports/suitesparse-amd/vcpkg.json new file mode 100644 index 00000000000000..d0e0743ee934e5 --- /dev/null +++ b/ports/suitesparse-amd/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-amd", + "version-semver": "3.3.3", + "description": "AMD: Routines for permuting sparse matrices prior to factorization in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "BSD-3-Clause", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-btf/portfile.cmake b/ports/suitesparse-btf/portfile.cmake new file mode 100644 index 00000000000000..ec46fdb0870737 --- /dev/null +++ b/ports/suitesparse-btf/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME BTF) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt" + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/lesser.txt" +) diff --git a/ports/suitesparse-btf/vcpkg.json b/ports/suitesparse-btf/vcpkg.json new file mode 100644 index 00000000000000..dfa1056b609d8b --- /dev/null +++ b/ports/suitesparse-btf/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-btf", + "version-semver": "2.3.2", + "description": "BTF: Software package for permuting a matrix into block upper triangular form in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "LGPL-2.1-or-later", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-camd/portfile.cmake b/ports/suitesparse-camd/portfile.cmake new file mode 100644 index 00000000000000..0e0bc80839f063 --- /dev/null +++ b/ports/suitesparse-camd/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME CAMD) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-camd/vcpkg.json b/ports/suitesparse-camd/vcpkg.json new file mode 100644 index 00000000000000..0f8fcae92fbc80 --- /dev/null +++ b/ports/suitesparse-camd/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-camd", + "version-semver": "3.3.3", + "description": "AMD: Routines for permuting sparse matrices prior to factorization in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "BSD-3-Clause", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-ccolamd/portfile.cmake b/ports/suitesparse-ccolamd/portfile.cmake new file mode 100644 index 00000000000000..af7fe18215b00f --- /dev/null +++ b/ports/suitesparse-ccolamd/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME CCOLAMD) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-ccolamd/vcpkg.json b/ports/suitesparse-ccolamd/vcpkg.json new file mode 100644 index 00000000000000..5ee0c07ef52393 --- /dev/null +++ b/ports/suitesparse-ccolamd/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-ccolamd", + "version-semver": "3.3.4", + "description": "CCOLAMD: Routines for constrained column approximate minimum degree ordering algorithm in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "BSD-3-Clause", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-cholmod/001-dont-override-cuda-architectures.patch b/ports/suitesparse-cholmod/001-dont-override-cuda-architectures.patch new file mode 100644 index 00000000000000..c32d5b5e0f2f54 --- /dev/null +++ b/ports/suitesparse-cholmod/001-dont-override-cuda-architectures.patch @@ -0,0 +1,47 @@ +Respect CMAKE_CUDA_ARCHITECTURES, so they can be set by the user in the triplet file. + +Also make the CUDA warnings fatal since we are always strictly enabling/disabling CUDA. + +--- a/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake ++++ b/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake +@@ -321,7 +321,7 @@ + if ( SUITESPARSE_USE_CUDA ) + + # try finding CUDA +- check_language ( CUDA ) ++ enable_language ( CUDA ) + # message ( STATUS "Looking for CUDA" ) + if ( CMAKE_CUDA_COMPILER ) + # with CUDA: +@@ -334,7 +334,7 @@ + message ( STATUS "CUDA toolkit lib: " ${CUDAToolkit_LIBRARY_DIR} ) + if ( CUDAToolkit_VERSION VERSION_LESS "11.2" ) + # CUDA is present but too old +- message ( STATUS "CUDA: not enabled (CUDA 11.2 or later required)" ) ++ message ( FATAL_ERROR "CUDA 11.2 or later is required" ) + set ( SUITESPARSE_HAS_CUDA OFF ) + else ( ) + # CUDA 11.2 or later present +@@ -343,7 +343,7 @@ + endif ( ) + else ( ) + # without CUDA: +- message ( STATUS "CUDA: not found" ) ++ message ( FATAL_ERROR "CUDA not found" ) + set ( SUITESPARSE_HAS_CUDA OFF ) + endif ( ) + +@@ -354,13 +354,6 @@ + + endif ( ) + +-if ( SUITESPARSE_HAS_CUDA ) +- message ( STATUS "CUDA: enabled" ) +- set ( SUITESPARSE_CUDA_ARCHITECTURES "52;75;80" CACHE STRING "CUDA architectures" ) +- set ( CMAKE_CUDA_ARCHITECTURES ${SUITESPARSE_CUDA_ARCHITECTURES} ) +-else ( ) +- message ( STATUS "CUDA: not enabled" ) +-endif ( ) + + # check for strict usage + if ( SUITESPARSE_USE_STRICT AND SUITESPARSE_USE_CUDA AND NOT SUITESPARSE_HAS_CUDA ) diff --git a/ports/suitesparse-cholmod/portfile.cmake b/ports/suitesparse-cholmod/portfile.cmake new file mode 100644 index 00000000000000..eac6c4f896bace --- /dev/null +++ b/ports/suitesparse-cholmod/portfile.cmake @@ -0,0 +1,59 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev + PATCHES + 001-dont-override-cuda-architectures.patch +) + +set(PACKAGE_NAME CHOLMOD) + +configure_file( + "${CURRENT_INSTALLED_DIR}/share/suitesparse/SuiteSparseBLAS.cmake" + "${SOURCE_PATH}/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake" + COPYONLY +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cuda CHOLMOD_USE_CUDA + cuda SUITESPARSE_USE_CUDA + matrixops CHOLMOD_MATRIXOPS + modify CHOLMOD_MODIFY + partition CHOLMOD_PARTITION + supernodal CHOLMOD_SUPERNODAL + openmp CHOLMOD_USE_OPENMP +) + +set(GPL_ENABLED OFF) +if(CHOLMOD_MATRIXOPS OR CHOLMOD_MODIFY OR CHOLMOD_SUPERNODAL OR CUDA_ENABLED) + set(GPL_ENABLED ON) +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DCHOLMOD_GPL=${GPL_ENABLED} + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + -DSUITESPARSE_USE_64BIT_BLAS=1 + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-cholmod/vcpkg.json b/ports/suitesparse-cholmod/vcpkg.json new file mode 100644 index 00000000000000..03f7afd5ea95f6 --- /dev/null +++ b/ports/suitesparse-cholmod/vcpkg.json @@ -0,0 +1,71 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-cholmod", + "version-semver": "5.3.0", + "description": "CHOLMOD: Routines for factorizing sparse symmetric positive definite matrices in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "LGPL-2.1-or-later AND Apache-2.0", + "dependencies": [ + "suitesparse-amd", + "suitesparse-camd", + "suitesparse-ccolamd", + "suitesparse-colamd", + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "partition" + ], + "features": { + "cuda": { + "description": "Enable CUDA support for the current compute architecture of this machine", + "supports": "!(windows & static)", + "license": "GPL-2.0-or-later AND LGPL-2.1-or-later AND Apache-2.0", + "dependencies": [ + "cuda", + { + "name": "suitesparse-cholmod", + "features": [ + "matrixops" + ] + } + ] + }, + "matrixops": { + "description": "Build MatrixOps module", + "license": "GPL-2.0-or-later AND LGPL-2.1-or-later AND Apache-2.0" + }, + "modify": { + "description": "Build Modify module", + "license": "GPL-2.0-or-later AND LGPL-2.1-or-later AND Apache-2.0" + }, + "openmp": { + "description": "Enable OpenMP support", + "dependencies": [ + { + "name": "suitesparse-config", + "features": [ + "openmp" + ] + } + ] + }, + "partition": { + "description": "Build Partition module" + }, + "supernodal": { + "description": "Build SuperNodal module", + "license": "GPL-2.0-or-later AND LGPL-2.1-or-later AND Apache-2.0", + "dependencies": [ + "lapack" + ] + } + } +} diff --git a/ports/suitesparse-colamd/portfile.cmake b/ports/suitesparse-colamd/portfile.cmake new file mode 100644 index 00000000000000..ce6d89e324a9a0 --- /dev/null +++ b/ports/suitesparse-colamd/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME COLAMD) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-colamd/vcpkg.json b/ports/suitesparse-colamd/vcpkg.json new file mode 100644 index 00000000000000..3a1588b256630b --- /dev/null +++ b/ports/suitesparse-colamd/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-colamd", + "version-semver": "3.3.4", + "description": "COLAMD: Routines for column approximate minimum degree ordering algorithm in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "BSD-3-Clause", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-config/SuiteSparseBLAS.cmake b/ports/suitesparse-config/SuiteSparseBLAS.cmake new file mode 100644 index 00000000000000..7cd9522187f37f --- /dev/null +++ b/ports/suitesparse-config/SuiteSparseBLAS.cmake @@ -0,0 +1,9 @@ +find_package(BLAS REQUIRED) +set(BLA_SIZEOF_INTEGER 4) +set(SuiteSparse_BLAS_integer int32_t) + +if(WIN32) + # OpenBLAS includes an underscore suffix on Windows for all of its symbols. + # This is not detected automatically by SuiteSparse or FindBLAS and needs to be set manually. + add_compile_definitions(BLAS64__SUFFIX=_) +endif() diff --git a/ports/suitesparse-config/portfile.cmake b/ports/suitesparse-config/portfile.cmake new file mode 100644 index 00000000000000..ba9ce58bbb9272 --- /dev/null +++ b/ports/suitesparse-config/portfile.cmake @@ -0,0 +1,52 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME SuiteSparse_config) + +# Avoid overriding of BLA_VENDOR and skip straight to find_package() as done here +# https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v7.8.1/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake#L240-L245 +configure_file( + "${CMAKE_CURRENT_LIST_DIR}/SuiteSparseBLAS.cmake" + "${SOURCE_PATH}/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake" + COPYONLY +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp SUITESPARSE_USE_OPENMP +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF # not applicable here, skip check + -DSUITESPARSE_USE_STRICT=ON # don't allow implicit dependencies + -DSUITESPARSE_USE_FORTRAN=OFF # use Fortran sources translated to C instead + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +# Move SuiteSparseBLAS.cmake, SuiteSparsePolicy.cmake etc files +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share") +file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cmake/SuiteSparse" "${CURRENT_PACKAGES_DIR}/share/suitesparse") + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/suitesparse-config/vcpkg.json b/ports/suitesparse-config/vcpkg.json new file mode 100644 index 00000000000000..908019f6c31368 --- /dev/null +++ b/ports/suitesparse-config/vcpkg.json @@ -0,0 +1,24 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-config", + "version-semver": "7.8.3", + "description": "Configuration for SuiteSparse libraries", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "BSD-3-Clause", + "dependencies": [ + "blas", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP support (in SuiteSparse_config only)" + } + } +} diff --git a/ports/suitesparse-cxsparse/001-detect-complex-support.patch b/ports/suitesparse-cxsparse/001-detect-complex-support.patch new file mode 100644 index 00000000000000..01279b73294e8f --- /dev/null +++ b/ports/suitesparse-cxsparse/001-detect-complex-support.patch @@ -0,0 +1,14 @@ +Android API level 22 and earlier don't provide any complex-valued math functions in complex.h, +which are required for complex data type support in CXSparse. + +--- a/CXSparse/CMakeLists.txt ++++ b/CXSparse/CMakeLists.txt +@@ -45,7 +45,7 @@ + # MS Visual Studio does not support the complex type for ANSI C11. + # FIXME: see GraphBLAS for how to use complex types in MS Visual Studio. + +-if ( MSVC OR ("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC") ) ++if ( MSVC OR CMAKE_C_SIMULATE_ID STREQUAL "MSVC" OR (CMAKE_SYSTEM_NAME STREQUAL "Android" AND CMAKE_SYSTEM_VERSION VERSION_LESS 23) ) + option ( CXSPARSE_USE_COMPLEX "ON: complex data type enabled. OFF (default): complex data type disabled." OFF ) + else ( ) + option ( CXSPARSE_USE_COMPLEX "ON (default): complex data type enabled. OFF: complex data type disabled." ON ) diff --git a/ports/suitesparse-cxsparse/portfile.cmake b/ports/suitesparse-cxsparse/portfile.cmake new file mode 100644 index 00000000000000..638e746b2a3d6c --- /dev/null +++ b/ports/suitesparse-cxsparse/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev + PATCHES + 001-detect-complex-support.patch +) + +set(PACKAGE_NAME CXSparse) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt" + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/lesser.txt" +) diff --git a/ports/suitesparse-cxsparse/vcpkg.json b/ports/suitesparse-cxsparse/vcpkg.json new file mode 100644 index 00000000000000..d075bd954112de --- /dev/null +++ b/ports/suitesparse-cxsparse/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-cxsparse", + "version-semver": "4.4.1", + "description": "CXSparse: Software package for permuting a matrix into block upper triangular form in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "LGPL-2.1-or-later", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-graphblas/portfile.cmake b/ports/suitesparse-graphblas/portfile.cmake new file mode 100644 index 00000000000000..91246edc1400c8 --- /dev/null +++ b/ports/suitesparse-graphblas/portfile.cmake @@ -0,0 +1,45 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/GraphBLAS + REF v9.3.1 + SHA512 94ebb0c4fb8ed93c5fe71610a730a32f8e6b84389bd75ddc8d997fa82a60401608f75783f60c59209b13e50f922995a9ad745a2bb499e99c3cb32d05db73aea5 + HEAD_REF stable +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp GRAPHBLAS_USE_OPENMP + INVERTED_FEATURES + precompiled GRAPHBLAS_COMPACT +) + +# Prevent JIT cache from being created at ~/.SuiteSparse by default. Only used during build. +# see https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v7.8.1/GraphBLAS/cmake_modules/GraphBLAS_JIT_paths.cmake +set(ENV{GRAPHBLAS_CACHE_PATH} "${CURRENT_BUILDTREES_DIR}/cache") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + -DGRAPHBLAS_JIT_ENABLE_RELOCATE=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME GraphBLAS + CONFIG_PATH lib/cmake/GraphBLAS +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/suitesparse-graphblas/vcpkg.json b/ports/suitesparse-graphblas/vcpkg.json new file mode 100644 index 00000000000000..1f16a51a642f21 --- /dev/null +++ b/ports/suitesparse-graphblas/vcpkg.json @@ -0,0 +1,26 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-graphblas", + "version-semver": "9.3.1", + "description": "SuiteSparse:GraphBLAS: graph algorithms in the language of linear algebra", + "homepage": "https://people.engr.tamu.edu/davis/GraphBLAS.html", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP support" + }, + "precompiled": { + "description": "Pre-compile kernels instead of using JIT compilation at runtime. Increases the library size and compile time by about 15x. Use the GRAPHBLAS_CACHE_PATH env var to set the JIT cache directory if not enabled." + } + } +} diff --git a/ports/suitesparse-klu/portfile.cmake b/ports/suitesparse-klu/portfile.cmake new file mode 100644 index 00000000000000..0e1335f55959b6 --- /dev/null +++ b/ports/suitesparse-klu/portfile.cmake @@ -0,0 +1,48 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME KLU) + +configure_file( + "${CURRENT_INSTALLED_DIR}/share/suitesparse/SuiteSparseBLAS.cmake" + "${SOURCE_PATH}/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake" + COPYONLY +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cholmod KLU_USE_CHOLMOD +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt" + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/lesser.txt" +) diff --git a/ports/suitesparse-klu/vcpkg.json b/ports/suitesparse-klu/vcpkg.json new file mode 100644 index 00000000000000..8acbff95d119eb --- /dev/null +++ b/ports/suitesparse-klu/vcpkg.json @@ -0,0 +1,30 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-klu", + "version-semver": "2.3.5", + "description": "KLU: Routines for solving sparse linear systems of equations in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "LGPL-2.1-or-later", + "dependencies": [ + "suitesparse-amd", + "suitesparse-btf", + "suitesparse-colamd", + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cholmod": { + "description": "Build example user-ordering function using CHOLMOD", + "dependencies": [ + "suitesparse-cholmod" + ] + } + } +} diff --git a/ports/suitesparse-lagraph/portfile.cmake b/ports/suitesparse-lagraph/portfile.cmake new file mode 100644 index 00000000000000..ebf7f7c600cf94 --- /dev/null +++ b/ports/suitesparse-lagraph/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME LAGraph) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp LAGRAPH_USE_OPENMP +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/cmake/LAGraph/FindGraphBLAS.cmake") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/LICENSE") diff --git a/ports/suitesparse-lagraph/vcpkg.json b/ports/suitesparse-lagraph/vcpkg.json new file mode 100644 index 00000000000000..9210bf18ba3f6c --- /dev/null +++ b/ports/suitesparse-lagraph/vcpkg.json @@ -0,0 +1,32 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-lagraph", + "version-semver": "1.1.4", + "description": "LAGraph: Library plus test harness for collecting algorithms that use GraphBLAS", + "homepage": "https://lagraph.readthedocs.io/en/latest/", + "license": "BSD-2-Clause", + "dependencies": [ + "suitesparse-graphblas", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP support", + "dependencies": [ + { + "name": "suitesparse-graphblas", + "features": [ + "openmp" + ] + } + ] + } + } +} diff --git a/ports/suitesparse-ldl/portfile.cmake b/ports/suitesparse-ldl/portfile.cmake new file mode 100644 index 00000000000000..35840140f76aa6 --- /dev/null +++ b/ports/suitesparse-ldl/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME LDL) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt" + "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/lesser.txt" +) diff --git a/ports/suitesparse-ldl/vcpkg.json b/ports/suitesparse-ldl/vcpkg.json new file mode 100644 index 00000000000000..4da15e3a137d23 --- /dev/null +++ b/ports/suitesparse-ldl/vcpkg.json @@ -0,0 +1,20 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-ldl", + "version-semver": "3.3.2", + "description": "LDL: A sparse LDL' factorization and solve package in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "LGPL-2.1-or-later", + "dependencies": [ + "suitesparse-amd", + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-mongoose/portfile.cmake b/ports/suitesparse-mongoose/portfile.cmake new file mode 100644 index 00000000000000..b69042eb7d3735 --- /dev/null +++ b/ports/suitesparse-mongoose/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/Mongoose" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Python=ON # Only used for tests +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME SuiteSparse_Mongoose + CONFIG_PATH lib/cmake/SuiteSparse_Mongoose +) +vcpkg_fixup_pkgconfig() + +vcpkg_copy_tools(TOOL_NAMES suitesparse_mongoose AUTO_CLEAN) +if (NOT "tools" IN_LIST FEATURES) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Mongoose/Doc/License.txt") diff --git a/ports/suitesparse-mongoose/vcpkg.json b/ports/suitesparse-mongoose/vcpkg.json new file mode 100644 index 00000000000000..387861a5b2a4ce --- /dev/null +++ b/ports/suitesparse-mongoose/vcpkg.json @@ -0,0 +1,24 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-mongoose", + "version-semver": "3.3.4", + "description": "Mongoose: Graph partitioning library in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "GPL-3.0-only", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build suitesparse_mongoose CLI tool" + } + } +} diff --git a/ports/suitesparse-paru/portfile.cmake b/ports/suitesparse-paru/portfile.cmake new file mode 100644 index 00000000000000..58c9ffb77d3de9 --- /dev/null +++ b/ports/suitesparse-paru/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME ParU) + +configure_file( + "${CURRENT_INSTALLED_DIR}/share/suitesparse/SuiteSparseBLAS.cmake" + "${SOURCE_PATH}/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake" + COPYONLY +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp SUITESPARSE_USE_OPENMP +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/LICENSE.txt") diff --git a/ports/suitesparse-paru/vcpkg.json b/ports/suitesparse-paru/vcpkg.json new file mode 100644 index 00000000000000..225be42644dcf2 --- /dev/null +++ b/ports/suitesparse-paru/vcpkg.json @@ -0,0 +1,35 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-paru", + "version-semver": "1.0.0", + "description": "ParU: Routines for solving sparse linear system via parallel multifrontal LU factorization algorithms in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "GPL-3.0-or-later", + "dependencies": [ + "suitesparse-cholmod", + "suitesparse-config", + "suitesparse-umfpack", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP support", + "supports": "!windows", + "dependencies": [ + { + "name": "suitesparse-config", + "features": [ + "openmp" + ] + } + ] + } + } +} diff --git a/ports/suitesparse-rbio/portfile.cmake b/ports/suitesparse-rbio/portfile.cmake new file mode 100644 index 00000000000000..38fdbb14b8e2a9 --- /dev/null +++ b/ports/suitesparse-rbio/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME RBio) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-rbio/vcpkg.json b/ports/suitesparse-rbio/vcpkg.json new file mode 100644 index 00000000000000..91fefb436c9947 --- /dev/null +++ b/ports/suitesparse-rbio/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-rbio", + "version-semver": "4.3.4", + "description": "RBio: routines for reading/writing sparse matrices in Rutherford/Boeing format in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "GPL-2.0-or-later", + "dependencies": [ + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/suitesparse-spex/portfile.cmake b/ports/suitesparse-spex/portfile.cmake new file mode 100644 index 00000000000000..043236d7641769 --- /dev/null +++ b/ports/suitesparse-spex/portfile.cmake @@ -0,0 +1,45 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME SPEX) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp SUITESPARSE_USE_OPENMP +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE + "${CURRENT_PACKAGES_DIR}/share/cmake/SPEX/FindGMP.cmake" + "${CURRENT_PACKAGES_DIR}/share/cmake/SPEX/FindMPFR.cmake" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/LICENSE.txt") diff --git a/ports/suitesparse-spex/vcpkg.json b/ports/suitesparse-spex/vcpkg.json new file mode 100644 index 00000000000000..b7bcc76f786a5f --- /dev/null +++ b/ports/suitesparse-spex/vcpkg.json @@ -0,0 +1,36 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-spex", + "version-semver": "3.2.1", + "description": "SPEX: Software package for SParse EXact algebra in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "GPL-2.0-or-later OR LGPL-3.0-or-later", + "dependencies": [ + "gmp", + "mpfr", + "suitesparse-amd", + "suitesparse-colamd", + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP support", + "dependencies": [ + { + "name": "suitesparse-config", + "features": [ + "openmp" + ] + } + ] + } + } +} diff --git a/ports/suitesparse-spqr/001-dont-override-cuda-architectures.patch b/ports/suitesparse-spqr/001-dont-override-cuda-architectures.patch new file mode 100644 index 00000000000000..c32d5b5e0f2f54 --- /dev/null +++ b/ports/suitesparse-spqr/001-dont-override-cuda-architectures.patch @@ -0,0 +1,47 @@ +Respect CMAKE_CUDA_ARCHITECTURES, so they can be set by the user in the triplet file. + +Also make the CUDA warnings fatal since we are always strictly enabling/disabling CUDA. + +--- a/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake ++++ b/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake +@@ -321,7 +321,7 @@ + if ( SUITESPARSE_USE_CUDA ) + + # try finding CUDA +- check_language ( CUDA ) ++ enable_language ( CUDA ) + # message ( STATUS "Looking for CUDA" ) + if ( CMAKE_CUDA_COMPILER ) + # with CUDA: +@@ -334,7 +334,7 @@ + message ( STATUS "CUDA toolkit lib: " ${CUDAToolkit_LIBRARY_DIR} ) + if ( CUDAToolkit_VERSION VERSION_LESS "11.2" ) + # CUDA is present but too old +- message ( STATUS "CUDA: not enabled (CUDA 11.2 or later required)" ) ++ message ( FATAL_ERROR "CUDA 11.2 or later is required" ) + set ( SUITESPARSE_HAS_CUDA OFF ) + else ( ) + # CUDA 11.2 or later present +@@ -343,7 +343,7 @@ + endif ( ) + else ( ) + # without CUDA: +- message ( STATUS "CUDA: not found" ) ++ message ( FATAL_ERROR "CUDA not found" ) + set ( SUITESPARSE_HAS_CUDA OFF ) + endif ( ) + +@@ -354,13 +354,6 @@ + + endif ( ) + +-if ( SUITESPARSE_HAS_CUDA ) +- message ( STATUS "CUDA: enabled" ) +- set ( SUITESPARSE_CUDA_ARCHITECTURES "52;75;80" CACHE STRING "CUDA architectures" ) +- set ( CMAKE_CUDA_ARCHITECTURES ${SUITESPARSE_CUDA_ARCHITECTURES} ) +-else ( ) +- message ( STATUS "CUDA: not enabled" ) +-endif ( ) + + # check for strict usage + if ( SUITESPARSE_USE_STRICT AND SUITESPARSE_USE_CUDA AND NOT SUITESPARSE_HAS_CUDA ) diff --git a/ports/suitesparse-spqr/portfile.cmake b/ports/suitesparse-spqr/portfile.cmake new file mode 100644 index 00000000000000..f78a88218adcfc --- /dev/null +++ b/ports/suitesparse-spqr/portfile.cmake @@ -0,0 +1,61 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev + PATCHES + 001-dont-override-cuda-architectures.patch +) + +set(PACKAGE_NAME SPQR) + +configure_file( + "${CURRENT_INSTALLED_DIR}/share/suitesparse/SuiteSparseBLAS.cmake" + "${SOURCE_PATH}/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake" + COPYONLY +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cuda SPQR_USE_CUDA + cuda SUITESPARSE_USE_CUDA +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES} + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +if("cuda" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME SuiteSparse_GPURuntime + CONFIG_PATH lib/cmake/SuiteSparse_GPURuntime + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) + vcpkg_cmake_config_fixup( + PACKAGE_NAME GPUQREngine + CONFIG_PATH lib/cmake/GPUQREngine + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-spqr/vcpkg.json b/ports/suitesparse-spqr/vcpkg.json new file mode 100644 index 00000000000000..38d862886c89e9 --- /dev/null +++ b/ports/suitesparse-spqr/vcpkg.json @@ -0,0 +1,34 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-spqr", + "version-semver": "4.3.4", + "description": "SPQR: Multithreaded, multifrontal, rank-revealing sparse QR factorization method in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "GPL-2.0-or-later", + "dependencies": [ + "lapack", + { + "name": "suitesparse-cholmod", + "features": [ + "supernodal" + ] + }, + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cuda": { + "description": "Enable CUDA support for the current compute architecture of this machine", + "dependencies": [ + "cuda" + ] + } + } +} diff --git a/ports/suitesparse-umfpack/portfile.cmake b/ports/suitesparse-umfpack/portfile.cmake new file mode 100644 index 00000000000000..a4a48ba2248247 --- /dev/null +++ b/ports/suitesparse-umfpack/portfile.cmake @@ -0,0 +1,45 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DrTimothyAldenDavis/SuiteSparse + REF v7.8.3 + SHA512 fc0fd0aaf55a6712a3b8ca23bf7536a31d52033e090370ebbf291f05d0e073c7dcfd991a80b037f54663f524804582b87af86522c2e4435091527f0d3c189244 + HEAD_REF dev +) + +set(PACKAGE_NAME UMFPACK) + +configure_file( + "${CURRENT_INSTALLED_DIR}/share/suitesparse/SuiteSparseBLAS.cmake" + "${SOURCE_PATH}/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake" + COPYONLY +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cholmod UMFPACK_USE_CHOLMOD +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DSUITESPARSE_USE_CUDA=OFF + -DSUITESPARSE_USE_STRICT=ON + -DSUITESPARSE_USE_FORTRAN=OFF + -DSUITESPARSE_DEMOS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME ${PACKAGE_NAME} + CONFIG_PATH lib/cmake/${PACKAGE_NAME} +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt") diff --git a/ports/suitesparse-umfpack/vcpkg.json b/ports/suitesparse-umfpack/vcpkg.json new file mode 100644 index 00000000000000..3fd02900134fdc --- /dev/null +++ b/ports/suitesparse-umfpack/vcpkg.json @@ -0,0 +1,31 @@ +{ + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", + "name": "suitesparse-umfpack", + "version-semver": "6.3.5", + "description": "UMFPACK: Routines solving sparse linear systems via LU factorization in SuiteSparse", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": "GPL-2.0-or-later", + "dependencies": [ + "suitesparse-amd", + "suitesparse-config", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "cholmod" + ], + "features": { + "cholmod": { + "description": "Use CHOLMOD", + "dependencies": [ + "suitesparse-cholmod" + ] + } + } +} diff --git a/ports/suitesparse/FindCXSparse.cmake b/ports/suitesparse/FindCXSparse.cmake deleted file mode 100644 index 65d596acaea2c1..00000000000000 --- a/ports/suitesparse/FindCXSparse.cmake +++ /dev/null @@ -1,73 +0,0 @@ -# Distributed under the OSI-approved BSD 3-Clause License. -# -#.rst: -# FindCXSparse -# -------- -# -# Find the CXSparse library -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# The following variables will be defined: -# -# ``CXSparse_FOUND`` -# True if CXSparse found on the local system -# -# ``CXSPARSE_FOUND`` -# True if CXSparse found on the local system -# -# ``CXSparse_INCLUDE_DIRS`` -# Location of CXSparse header files -# -# ``CXSPARSE_INCLUDE_DIRS`` -# Location of CXSparse header files -# -# ``CXSparse_LIBRARIES`` -# List of the CXSparse libraries found -# -# ``CXSPARSE_LIBRARIES`` -# List of the CXSparse libraries found -# -# - -include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) -include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) - -find_path(CXSPARSE_INCLUDE_DIR NAMES cs.h PATH_SUFFIXES suitesparse) - -find_library(CXSPARSE_LIBRARY_RELEASE NAMES cxsparse libcxsparse) -find_library(CXSPARSE_LIBRARY_DEBUG NAMES cxsparsed libcxsparsed) -select_library_configurations(CXSPARSE) - -if(CXSPARSE_INCLUDE_DIR) - set(CXSPARSE_VERSION_FILE ${CXSPARSE_INCLUDE_DIR}/cs.h) - file(READ ${CXSPARSE_INCLUDE_DIR}/cs.h CXSPARSE_VERSION_FILE_CONTENTS) - - string(REGEX MATCH "#define CS_VER [0-9]+" - CXSPARSE_MAIN_VERSION "${CXSPARSE_VERSION_FILE_CONTENTS}") - string(REGEX REPLACE "#define CS_VER ([0-9]+)" "\\1" - CXSPARSE_MAIN_VERSION "${CXSPARSE_MAIN_VERSION}") - - string(REGEX MATCH "#define CS_SUBVER [0-9]+" - CXSPARSE_SUB_VERSION "${CXSPARSE_VERSION_FILE_CONTENTS}") - string(REGEX REPLACE "#define CS_SUBVER ([0-9]+)" "\\1" - CXSPARSE_SUB_VERSION "${CXSPARSE_SUB_VERSION}") - - string(REGEX MATCH "#define CS_SUBSUB [0-9]+" - CXSPARSE_SUBSUB_VERSION "${CXSPARSE_VERSION_FILE_CONTENTS}") - string(REGEX REPLACE "#define CS_SUBSUB ([0-9]+)" "\\1" - CXSPARSE_SUBSUB_VERSION "${CXSPARSE_SUBSUB_VERSION}") - - set(CXSPARSE_VERSION "${CXSPARSE_MAIN_VERSION}.${CXSPARSE_SUB_VERSION}.${CXSPARSE_SUBSUB_VERSION}") -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(CXSparse - REQUIRED_VARS CXSPARSE_INCLUDE_DIR CXSPARSE_LIBRARIES - VERSION_VAR CXSPARSE_VERSION) - -set(CXSPARSE_FOUND ${CXSparse_FOUND}) -set(CXSPARSE_INCLUDE_DIRS ${CXSPARSE_INCLUDE_DIR}) -set(CXSparse_INCLUDE_DIRS ${CXSPARSE_INCLUDE_DIR}) -set(CXSparse_LIBRARIES ${CXSPARSE_LIBRARIES}) diff --git a/ports/suitesparse/build_fixes.patch b/ports/suitesparse/build_fixes.patch deleted file mode 100644 index 2734bb02cef03f..00000000000000 --- a/ports/suitesparse/build_fixes.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9602cce..dafb434 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,14 +5,6 @@ - # Updated by jesnault (jerome.esnault@inria.fr) 2014-01-21 - # ----------------------------------------------------------------- - --option(HUNTER_ENABLED "Enable Hunter package manager support" OFF) --include(cmake/HunterGate.cmake) -- --HunterGate( -- URL "https://github.com/ruslo/hunter/archive/v0.23.214.tar.gz" -- SHA1 "e14bc153a7f16d6a5eeec845fb0283c8fad8c358" --) -- - PROJECT(SuiteSparseProject) - - cmake_minimum_required(VERSION 3.1) -@@ -47,29 +39,9 @@ else() - message(STATUS "Using user defined CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") - endif() - --# Fix GKlib path: --IF(NOT WIN32) -- SET(GKLIB_PATH "${${PROJECT_NAME}_SOURCE_DIR}/SuiteSparse/metis-5.1.0/GKlib" CACHE INTERNAL "Path to GKlib (for METIS)" FORCE) --ENDIF() -- --# allow creating DLLs in Windows without touching the source code: --IF(NOT ${CMAKE_VERSION} VERSION_LESS "3.4.0" AND WIN32) -- set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) --ENDIF() -- - ## get CMAKE_INSTALL_BINDIR and CMAKE_INSTALL_LIBDIR - include(GNUInstallDirs) - --if(CMAKE_SIZEOF_VOID_P MATCHES "8") -- set(SUITESPARSE_LIB_POSTFIX "64") --else() -- set(SUITESPARSE_LIB_POSTFIX "") --endif() -- --## get POSTFIX for lib install dir --set(LIB_POSTFIX "${SUITESPARSE_LIB_POSTFIX}" CACHE STRING "suffix for 32/64 inst dir placement") --mark_as_advanced(LIB_POSTFIX) -- - # We want libraries to be named "libXXX" and "libXXXd" in all compilers: - # ------------------------------------------------------------------------ - set(CMAKE_DEBUG_POSTFIX "d") -@@ -77,59 +49,6 @@ IF(MSVC) - set(SP_LIB_PREFIX "lib") # Libs are: "libXXX" - ENDIF(MSVC) - --## check if we can build metis --SET(BUILD_METIS_DEFAULT ON) --if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/SuiteSparse/metis-5.1.0/CMakeLists.txt") -- SET(BUILD_METIS_DEFAULT OFF) --endif() -- --SET(WITH_CUDA OFF CACHE BOOL "Build with CUDA support") -- --SET(BUILD_METIS ${BUILD_METIS_DEFAULT} CACHE BOOL "Build METIS for partitioning?") --SET(METIS_DIR ${${PROJECT_NAME}_SOURCE_DIR}/SuiteSparse/metis-5.1.0 CACHE PATH "Source directory of METIS") -- --if(BUILD_METIS) -- ## prepare the installation : -- ## using metis target here is not possible because this target is added in another branch of the CMake structure -- ## TRICK: need to dynamically modify the metis CMakeLists.txt file before it going to parsed... -- ## (very ugly/poor for a metis project get from SCM (git/svn/cvs) but it's works ;) and it doesn't matter if metis was get from .zip) -- if(EXISTS "${METIS_DIR}/libmetis/CMakeLists.txt") -- file(READ "${METIS_DIR}/libmetis/CMakeLists.txt" contentFile) -- string(REGEX MATCH "EXPORT SuiteSparseTargets" alreadyModified ${contentFile}) ## use a string pattern to check if we have to do the modif -- if(NOT alreadyModified) -- file(APPEND "${METIS_DIR}/libmetis/CMakeLists.txt" -- " -- set_target_properties(metis PROPERTIES PUBLIC_HEADER \"../include/metis.h\") -- install(TARGETS metis ## this line is also the string pattern to check if the modification had already done -- EXPORT SuiteSparseTargets -- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- PUBLIC_HEADER DESTINATION include -- ) -- " -- ) -- endif() -- endif() -- add_subdirectory(SuiteSparse/metis-5.1.0) ## important part for building metis from its src files --endif(BUILD_METIS) -- -- --## For EXPORT only : --## Previous version of cmake (>2.8.12) doesn't auto take into account external lib (here I mean blas and lapack) we need to link to for our current target we want to export. --## Or at least we need to investigate how to do with previous version. --## This may cause some trouble in case you want to build in static mode and then use it into another custom project. --## You will need to manually link your target into your custom project to the correct dependencies link interfaces. --if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" GREATER 2.8.11) ## (policies introduced both in 2.8.12) -- set(EXPORT_USE_INTERFACE_LINK_LIBRARIES ON CACHE BOOL "") -- mark_as_advanced(EXPORT_USE_INTERFACE_LINK_LIBRARIES) -- if(EXPORT_USE_INTERFACE_LINK_LIBRARIES) -- cmake_policy(SET CMP0023 NEW) ## just for respecting the new target_link_libraries(...) signature procedure -- cmake_policy(SET CMP0022 NEW) ## use INTERFACE_LINK_LIBRARIES property for in-build targets and ignore old properties (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_)? -- ## Here, next version of cmake 2.8.12 auto take into account the link interface dependencies (see generated cmake/SuiteSparse-config*.cmake into your install dir) -- endif() --endif() -- - ## install_suitesparse_project(targetName headersList) - ## factorise the way we will install all projects (part of the suitesparse project) - ## is the target of the current project you build -@@ -176,16 +95,16 @@ macro(declare_suitesparse_library targetName srcsList headersList) - set(dsl_TARGET_PUBLIC_LINK "") - endif() - if(WITH_CUDA) -- find_package(CUDA) -+ find_package(CUDA REQUIRED) - endif() -- IF(${CUDA_FOUND}) -+ IF(CUDA_FOUND) - INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) - INCLUDE_DIRECTORIES(${SuiteSparse_GPUQREngine_INCLUDE}) - INCLUDE_DIRECTORIES(${SuiteSparse_GPURuntime_INCLUDE}) - CUDA_ADD_LIBRARY(${targetName} ${srcsList} ${headersList}) -- ELSE(${CUDA_FOUND}) -+ ELSE() - ADD_LIBRARY(${targetName} ${srcsList} ${headersList}) -- ENDIF(${CUDA_FOUND}) -+ ENDIF() - SET_TARGET_PROPERTIES(${targetName} PROPERTIES - OUTPUT_NAME ${SP_LIB_PREFIX}${targetName} - ) -@@ -211,44 +130,30 @@ MACRO(REMOVE_MATCHING_FILES_FROM_LIST match_expr lst_files) - ENDMACRO(REMOVE_MATCHING_FILES_FROM_LIST) - - if(WITH_CUDA) -- FIND_PACKAGE(cuda) -- IF(${CUDA_FOUND}) -+ FIND_PACKAGE(CUDA REQUIRED) -+ IF(CUDA_FOUND) - ADD_DEFINITIONS(-DGPU_BLAS) -- ENDIF(${CUDA_FOUND}) -+ ENDIF() - endif() - --hunter_add_package(LAPACK) # only in effect if HUNTER_ENABLED is set --# prefer LAPACK config file --find_package(LAPACK CONFIG) --if (LAPACK_FOUND AND TARGET blas AND TARGET lapack) -- message(STATUS "found lapack and blas config file. Linking targets lapack and blas") -- message(STATUS "- LAPACK_CONFIG: ${LAPACK_CONFIG}") -- set(SuiteSparse_LINKER_LAPACK_BLAS_LIBS lapack blas) -- # for suitesparse-config file set method used to find LAPACK (and BLAS) -- set(SuiteSparse_LAPACK_used_CONFIG YES) --else() -- # missing config file or targets, try BLAS and LAPACK -- find_package(BLAS) -- find_package(LAPACK) -- if (BLAS_FOUND AND LAPACK_FOUND) -+ find_package(BLAS REQUIRED) -+ find_package(LAPACK REQUIRED) - message(STATUS "found lapack and blas config file. Linking targets lapack and blas") - message(STATUS "- LAPACK_LIBRARIES: ${LAPACK_LIBRARIES}") - message(STATUS "- BLAS_LIBRARIES: ${BLAS_LIBRARIES}") - set(SuiteSparse_LINKER_LAPACK_BLAS_LIBS ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) - # for suitesparse-config file set method used to find LAPACK (and BLAS) - set(SuiteSparse_LAPACK_used_CONFIG NO) -- else () # LAPACK is not found -- message(FATAL_ERROR "lapack not found") -- endif() --endif() - --IF(BUILD_METIS) -+IF(USE_VCPKG_METIS) -+ find_package(metis REQUIRED) - set(SuiteSparse_LINKER_METIS_LIBS "metis") -- ## namespaced library target for config -- set(SuiteSparse_EXPORTED_METIS_LIBS "SuiteSparse::metis") -+ set(SuiteSparse_EXPORTED_METIS_LIBS "metis") -+ set(SuiteSparse_FIND_DEPENDENCY_METIS "find_dependency(metis REQUIRED)") - else() - set(SuiteSparse_LINKER_METIS_LIBS "") - set(SuiteSparse_EXPORTED_METIS_LIBS "") -+ set(SuiteSparse_FIND_PACKAGE_METIS "") - ENDIF() - - add_subdirectory(SuiteSparse) -@@ -287,7 +192,7 @@ endmacro() - # get SuiteSparse version - get_SuiteSparse_Version() - --set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/suitesparse-${SuiteSparse_VERSION}) -+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/suitesparse) - ## create targets file - export(EXPORT SuiteSparseTargets - FILE "${CMAKE_CURRENT_BINARY_DIR}/suitesparse/suitesparse-targets.cmake" -@@ -301,7 +206,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in - ## do the EXPORT for allowing other project to easily use suitesparse with cmake - install(EXPORT SuiteSparseTargets - FILE -- SuiteSparse-targets.cmake -+ suitesparse-targets.cmake - NAMESPACE - SuiteSparse:: - DESTINATION -diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt -index c6e2834..6fdfb01 100644 ---- a/SuiteSparse/CMakeLists.txt -+++ b/SuiteSparse/CMakeLists.txt -@@ -1,23 +1,5 @@ - PROJECT(SuiteSparse) - --# Set optimized building: --IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") -- # only optimize for native processer when NOT cross compiling -- if(NOT CMAKE_CROSSCOMPILING) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mtune=native") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mtune=native") -- endif(NOT CMAKE_CROSSCOMPILING) --ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug") -- --# Global flags: --IF (BUILD_METIS) -- INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include") --ELSE (BUILD_METIS) -- ADD_DEFINITIONS(-DNPARTITION) --ENDIF ( BUILD_METIS) -- - # Disable COMPLEX numbers: disable it by default, since it causes problems in some platforms. - SET(HAVE_COMPLEX OFF CACHE BOOL "Enables building SuiteSparse with complex numbers (disabled by default to avoid problems in some platforms)") - IF (NOT HAVE_COMPLEX) -@@ -38,12 +20,12 @@ if(WITH_CUDA) - set(SUBPROJECTS_TO_ADD - ${SUBPROJECTS_TO_ADD} - SuiteSparse_GPURuntime -- GPUQREngine -+ GPUQREngine - ) - endif() - - set(SUBPROJECTS_TO_ADD -- ${SUBPROJECTS_TO_ADD} -+ ${SUBPROJECTS_TO_ADD} - SuiteSparse_config - AMD - BTF -diff --git a/cmake/SuiteSparse-config-install.cmake.in b/cmake/SuiteSparse-config-install.cmake.in -index 1e587d1..fd8f3a7 100644 ---- a/cmake/SuiteSparse-config-install.cmake.in -+++ b/cmake/SuiteSparse-config-install.cmake.in -@@ -2,20 +2,14 @@ - get_filename_component(_SuiteSparse_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) - get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_SELF_DIR}" PATH) - get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH) --get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH) - - include(CMakeFindDependencyMacro) --if (@SuiteSparse_LAPACK_used_CONFIG@) # SuiteSparse_LAPACK_used_CONFIG -- # use config file which provides LAPACK (and BLAS) for us -- find_dependency(LAPACK CONFIG) --else() -- # try to find BLAS and LAPACK with modules - find_dependency(BLAS) - find_dependency(LAPACK) --endif () -+ @SuiteSparse_FIND_DEPENDENCY_METIS@ - - # Load targets from the install tree. --include(${_SuiteSparse_SELF_DIR}/SuiteSparse-targets.cmake) -+include(${_SuiteSparse_SELF_DIR}/suitesparse-targets.cmake) - - # Report SuiteSparse header search locations. - set(SuiteSparse_INCLUDE_DIRS ${_SuiteSparse_PREFIX}/include) -@@ -39,3 +33,7 @@ set(SuiteSparse_LIBRARIES - - unset(_SuiteSparse_PREFIX) - unset(_SuiteSparse_SELF_DIR) -+set(SUITESPARSE_FOUND TRUE) -+set(SuiteSparse_FOUND TRUE) -+set(SUITESPARSE_LIBRARIES ${SuiteSparse_LIBRARIES}) -+set(SUITESPARSE_INCLUDE_DIRS ${SuiteSparse_INCLUDE_DIRS}) diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index c8a8c95e8605ba..065116c276adcf 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -1,55 +1 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO DrTimothyAldenDavis/SuiteSparse - REF 71e330ca2bc0a2f12f416c461d23dbca21db4d8f - SHA512 06c75927c924cfd5511b07504e826714f504586243d6f3449d67408a33f3ecea824a7f2de7a165171791b9bda4fc09c0d7093125970895c2ed8d4d37ca1d5a3d - HEAD_REF master -) - -vcpkg_from_github( - OUT_SOURCE_PATH SUITESPARSEWIN_SOURCE_PATH - REPO jlblancoc/suitesparse-metis-for-windows - REF c11e8dd7a2ef7d0d93af4c16f75374dd8ca029e2 - SHA512 fbd2a9e6f7df47eeb5d890c7b286bef7fc4c8bcb22783ce800723bacaf2cfe902177828ce5b9e1c2ed9fb5c54591c5fb046a8667e7d354d452a4baac693e47d2 - HEAD_REF master - PATCHES - build_fixes.patch -) - -# Copy suitesparse sources. -message(STATUS "Overwriting SuiteSparseWin source files with SuiteSparse source files...") -# Should probably remove everything but CMakeLists.txt files? -file(GLOB SUITESPARSE_SOURCE_FILES "${SOURCE_PATH}/*") -foreach(SOURCE_FILE ${SUITESPARSE_SOURCE_FILES}) - file(COPY "${SOURCE_FILE}" DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse") -endforeach() -message(STATUS "Overwriting SuiteSparseWin source files with SuiteSparse source files... done") -message(STATUS "Removing integrated lapack and metis lib...") -file(REMOVE_RECURSE "${SUITESPARSEWIN_SOURCE_PATH}/lapack_windows") -file(REMOVE_RECURSE "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse/metis-5.1.0") -message(STATUS "Removing integrated lapack and metis lib... done") - -vcpkg_cmake_configure( - SOURCE_PATH "${SUITESPARSEWIN_SOURCE_PATH}" - OPTIONS - -DBUILD_METIS=OFF - -DUSE_VCPKG_METIS=ON - "-DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR}" - OPTIONS_DEBUG - "-DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" - OPTIONS_RELEASE - "-DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/suitesparse) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL "${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright_suitesparse-metis-for-windows) - -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/cxsparse") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper_cxsparse.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cxsparse" RENAME vcpkg-cmake-wrapper.cmake) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/FindCXSparse.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cxsparse") +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/suitesparse/vcpkg-cmake-wrapper_cxsparse.cmake b/ports/suitesparse/vcpkg-cmake-wrapper_cxsparse.cmake deleted file mode 100644 index 67d87e8b69055b..00000000000000 --- a/ports/suitesparse/vcpkg-cmake-wrapper_cxsparse.cmake +++ /dev/null @@ -1,10 +0,0 @@ -set(CXSPARSE_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) - -list(REMOVE_ITEM ARGS "NO_MODULE") -list(REMOVE_ITEM ARGS "CONFIG") -list(REMOVE_ITEM ARGS "MODULE") - -_find_package(${ARGS}) - -set(CMAKE_MODULE_PATH ${CXSPARSE_PREV_MODULE_PATH}) diff --git a/ports/suitesparse/vcpkg.json b/ports/suitesparse/vcpkg.json index c3a8f25f2ecb24..3f2835f493970d 100644 --- a/ports/suitesparse/vcpkg.json +++ b/ports/suitesparse/vcpkg.json @@ -1,19 +1,102 @@ { + "$comment": "Use scripts/update_suitesparse.py to update all SuiteSparse ports", "name": "suitesparse", - "version-semver": "5.8.0", - "port-version": 2, - "description": "A suite of sparse matrix algorithms. Also provides libcxsparse.", - "homepage": "http://suitesparse.com", + "version-semver": "7.8.3", + "description": "A suite of sparse matrix algorithms", + "homepage": "https://people.engr.tamu.edu/davis/suitesparse.html", + "license": null, "dependencies": [ - "lapack", - "metis", - { - "name": "vcpkg-cmake", - "host": true + "suitesparse-amd", + "suitesparse-btf", + "suitesparse-camd", + "suitesparse-ccolamd", + "suitesparse-cholmod", + "suitesparse-colamd", + "suitesparse-config", + "suitesparse-cxsparse", + "suitesparse-graphblas", + "suitesparse-klu", + "suitesparse-lagraph", + "suitesparse-ldl", + "suitesparse-spex" + ], + "features": { + "cuda": { + "description": "Enable CUDA support for the current compute architecture of this machine", + "dependencies": [ + { + "name": "suitesparse-cholmod", + "features": [ + "cuda" + ] + }, + { + "name": "suitesparse-spqr", + "features": [ + "cuda" + ] + } + ] }, - { - "name": "vcpkg-cmake-config", - "host": true + "gpl": { + "description": "Enable GPL-licensed packages", + "dependencies": [ + { + "name": "suitesparse-cholmod", + "features": [ + "matrixops", + "modify", + "supernodal" + ] + }, + "suitesparse-mongoose", + "suitesparse-paru", + "suitesparse-rbio", + "suitesparse-spqr", + "suitesparse-umfpack" + ] + }, + "openmp": { + "description": "Enable OpenMP support for SuiteSparse libraries", + "dependencies": [ + { + "name": "suitesparse-cholmod", + "features": [ + "openmp" + ] + }, + { + "name": "suitesparse-config", + "features": [ + "openmp" + ] + }, + { + "name": "suitesparse-graphblas", + "features": [ + "openmp" + ] + }, + { + "name": "suitesparse-lagraph", + "features": [ + "openmp" + ] + }, + { + "name": "suitesparse-paru", + "features": [ + "openmp" + ], + "platform": "!windows" + }, + { + "name": "suitesparse-spex", + "features": [ + "openmp" + ] + } + ] } - ] + } } diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 62c370e4740997..8f4ef316a60fb7 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1087,6 +1087,19 @@ spscqueue:x64-android=fail stormlib:arm64-uwp=fail stormlib:x64-uwp=fail stxxl:arm-neon-android=fail +# _Interlocked* intrinsic functions are not available on x86 +suitesparse-graphblas:x86-windows=fail +# "ninja: error: failed recompaction: Permission denied" +# See https://gist.github.com/valgur/a27f15e16efe93b1ed589703c3cb22cd for the build logs +suitesparse-graphblas:arm64-windows=fail +suitesparse-graphblas:arm64-windows-static-md=fail +# uwp: "unresolved external symbol __imp_RoInitialize referenced in function __scrt_initialize_winrt" +suitesparse-graphblas:x64-uwp=fail +suitesparse-graphblas:arm64-uwp=fail +# Android API level 23 or newer is required for complex math support +suitesparse-graphblas:arm-neon-android=fail +suitesparse-graphblas:arm64-android=fail +suitesparse-graphblas:x64-android=fail systemc:arm64-windows=fail systemc:arm64-windows-static-md=fail systemc:arm64-uwp=fail diff --git a/scripts/update_suitesparse.py b/scripts/update_suitesparse.py new file mode 100755 index 00000000000000..419683d53ae0ad --- /dev/null +++ b/scripts/update_suitesparse.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python3 + +# Usage: ./update_suitesparse.py +# +# Updates the `suitesparse` port and all of its `suitesparse-*` sub-packages +# based on the source archive automatically downloaded of the given version. + +import hashlib +import io +import json +import re +import sys +import tarfile +from pathlib import Path + +import requests + +ports_root = Path(__file__).resolve().parent.parent / "ports" + + +def download(url): + print(f"Downloading {url}...") + r = requests.get(url) + r.raise_for_status() + return r.content + + +def sha512(data): + sha = hashlib.sha512() + sha.update(data) + return sha.hexdigest() + + +def extract_version(content): + major = re.search(r"^set *\( *(\w+)_VERSION_MAJOR +(\d+) ", content, re.M).group(2) + minor = re.search(r"^set *\( *(\w+)_VERSION_MINOR +(\d+) ", content, re.M).group(2) + sub = re.search(r"^set *\( *(\w+)_VERSION_(?:SUB|PATCH|UPDATE) +(\d+) ", content, re.M).group(2) + return f"{major}.{minor}.{sub}" + + +def load_versions(tar_gz_bytes): + versions = {} + tar_gz_file = io.BytesIO(tar_gz_bytes) + with tarfile.open(fileobj=tar_gz_file, mode="r:gz") as tar: + for member in tar.getmembers(): + if not member.isfile(): + continue + if m := re.fullmatch(r"SuiteSparse-[^/]+/(\w+)/CMakeLists.txt", member.name): + name = m.group(1) + if name in ["Example", "GraphBLAS", "CSparse"]: + continue + content = tar.extractfile(member).read().decode("utf8") + versions[name] = extract_version(content) + elif member.name.endswith("GraphBLAS_version.cmake"): + content = tar.extractfile(member).read().decode("utf8") + versions["GraphBLAS"] = extract_version(content) + return versions + + +def update_manifest(pkg_name, version): + port_dir = ports_root / pkg_name + manifest_path = port_dir / "vcpkg.json" + manifest = json.loads(manifest_path.read_text("utf8")) + if manifest["version-semver"] == version: + return False + manifest["version-semver"] = version + manifest_path.write_text(json.dumps(manifest, indent=2) + "\n") + return True + + +def update_portfile(pkg_name, new_version, new_hash): + port_dir = ports_root / pkg_name + portfile_path = port_dir / "portfile.cmake" + content = portfile_path.read_text("utf8") + content, n = re.subn(r"\bREF v\S+", f"REF v{new_version}", content, re.M) + if n != 1: + raise Exception(f"Updating {pkg_name} portfile ref failed!") + content, n = re.subn(r"\bSHA512 \S+", f"SHA512 {new_hash}", content, re.M) + if n != 1: + raise Exception(f"Updating {pkg_name} portfile hash failed!") + portfile_path.write_text(content) + + +def update_port(pkg_name, new_version, suitesparse_hash): + port_dir = ports_root / pkg_name + if not port_dir.exists(): + raise Exception(f"'{pkg_name}' does not exist!") + update_manifest(pkg_name, new_version) + # Always update the tag in vcpkg_from_github() even if version has not changed + # to avoid having to download multiple versions of the source archive. + print(f"{pkg_name}: updating...") + if pkg_name == "suitesparse-graphblas": + url = f"https://github.com/DrTimothyAldenDavis/GraphBLAS/archive/refs/tags/v{new_version}.tar.gz" + graphblas_hash = sha512(download(url)) + update_portfile(pkg_name, new_version, graphblas_hash) + else: + update_portfile(pkg_name, suitesparse_version, suitesparse_hash) + + +def main(suitesparse_version): + suitesparse_url = ( + f"https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v{suitesparse_version}.tar.gz" + ) + tar_gz_bytes = download(suitesparse_url) + suitesparse_hash = sha512(tar_gz_bytes) + print("Reading versions from CMakeLists.txt files...") + versions = load_versions(tar_gz_bytes) + for lib, new_version in versions.items(): + pkg_name = "suitesparse-config" if lib == "SuiteSparse_config" else "suitesparse-" + lib.lower() + update_port(pkg_name, new_version, suitesparse_hash) + update_manifest("suitesparse", suitesparse_version) + print("Done!") + + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("Usage: ./update_suitesparse.py ") + sys.exit(1) + suitesparse_version = sys.argv[1] + main(suitesparse_version) diff --git a/versions/baseline.json b/versions/baseline.json index 165cd3df4111de..309586e05e8d59 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1562,7 +1562,7 @@ }, "ceres": { "baseline": "2.2.0", - "port-version": 0 + "port-version": 1 }, "cfitsio": { "baseline": "3.49", @@ -1790,7 +1790,7 @@ }, "colmap": { "baseline": "3.11.1", - "port-version": 0 + "port-version": 1 }, "color-console": { "baseline": "2022-03-20", @@ -2970,7 +2970,7 @@ }, "g2o": { "baseline": "2024-12-14", - "port-version": 2 + "port-version": 3 }, "g3log": { "baseline": "2.4", @@ -8813,8 +8813,80 @@ "port-version": 9 }, "suitesparse": { - "baseline": "5.8.0", - "port-version": 2 + "baseline": "7.8.3", + "port-version": 0 + }, + "suitesparse-amd": { + "baseline": "3.3.3", + "port-version": 0 + }, + "suitesparse-btf": { + "baseline": "2.3.2", + "port-version": 0 + }, + "suitesparse-camd": { + "baseline": "3.3.3", + "port-version": 0 + }, + "suitesparse-ccolamd": { + "baseline": "3.3.4", + "port-version": 0 + }, + "suitesparse-cholmod": { + "baseline": "5.3.0", + "port-version": 0 + }, + "suitesparse-colamd": { + "baseline": "3.3.4", + "port-version": 0 + }, + "suitesparse-config": { + "baseline": "7.8.3", + "port-version": 0 + }, + "suitesparse-cxsparse": { + "baseline": "4.4.1", + "port-version": 0 + }, + "suitesparse-graphblas": { + "baseline": "9.3.1", + "port-version": 0 + }, + "suitesparse-klu": { + "baseline": "2.3.5", + "port-version": 0 + }, + "suitesparse-lagraph": { + "baseline": "1.1.4", + "port-version": 0 + }, + "suitesparse-ldl": { + "baseline": "3.3.2", + "port-version": 0 + }, + "suitesparse-mongoose": { + "baseline": "3.3.4", + "port-version": 0 + }, + "suitesparse-paru": { + "baseline": "1.0.0", + "port-version": 0 + }, + "suitesparse-rbio": { + "baseline": "4.3.4", + "port-version": 0 + }, + "suitesparse-spex": { + "baseline": "3.2.1", + "port-version": 0 + }, + "suitesparse-spqr": { + "baseline": "4.3.4", + "port-version": 0 + }, + "suitesparse-umfpack": { + "baseline": "6.3.5", + "port-version": 0 }, "sundials": { "baseline": "7.1.1", diff --git a/versions/c-/ceres.json b/versions/c-/ceres.json index 2875185a808aab..3c848f5c684738 100644 --- a/versions/c-/ceres.json +++ b/versions/c-/ceres.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c513d3f02c6a12f193adbd33051058e576d2c3da", + "version": "2.2.0", + "port-version": 1 + }, { "git-tree": "ae2ddb638679c4955ec12f60c33eb43493786535", "version": "2.2.0", diff --git a/versions/c-/colmap.json b/versions/c-/colmap.json index 80da556ba77ad8..f38aadb8c05e4f 100644 --- a/versions/c-/colmap.json +++ b/versions/c-/colmap.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7f2f32bedf07a0ac7a5bc43b81268b20b41b060e", + "version": "3.11.1", + "port-version": 1 + }, { "git-tree": "e07255def3b7cf947532848a0edfe51f66cd6f66", "version": "3.11.1", diff --git a/versions/g-/g2o.json b/versions/g-/g2o.json index 2b0de10b6aba54..da86e1842b5c18 100644 --- a/versions/g-/g2o.json +++ b/versions/g-/g2o.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f4853fa73127d768413a58dd74a63e311d2811cd", + "version-date": "2024-12-14", + "port-version": 3 + }, { "git-tree": "3c1f1836df83234a33a1f96cb292331f45f1650f", "version-date": "2024-12-14", diff --git a/versions/s-/suitesparse-amd.json b/versions/s-/suitesparse-amd.json new file mode 100644 index 00000000000000..8bc05eb8da2235 --- /dev/null +++ b/versions/s-/suitesparse-amd.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a4fab6a86754a73637c653354bceef0bdea2bdc4", + "version-semver": "3.3.3", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-btf.json b/versions/s-/suitesparse-btf.json new file mode 100644 index 00000000000000..d74a05c463e798 --- /dev/null +++ b/versions/s-/suitesparse-btf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "32fb1a497390b41ab7a6af94195b0bbcde3c1c3b", + "version-semver": "2.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-camd.json b/versions/s-/suitesparse-camd.json new file mode 100644 index 00000000000000..dedc30296ac175 --- /dev/null +++ b/versions/s-/suitesparse-camd.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c094131b109435ad56ab6d6f9417453c43dbacf9", + "version-semver": "3.3.3", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-ccolamd.json b/versions/s-/suitesparse-ccolamd.json new file mode 100644 index 00000000000000..e866aeb73428d6 --- /dev/null +++ b/versions/s-/suitesparse-ccolamd.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8f5e5f4c7c2b0748f3aca63dac805e5a0b929b92", + "version-semver": "3.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-cholmod.json b/versions/s-/suitesparse-cholmod.json new file mode 100644 index 00000000000000..00a9e63a56ed04 --- /dev/null +++ b/versions/s-/suitesparse-cholmod.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d5b65e6c6db8bb75f0701ff5164a83556fb0cb2e", + "version-semver": "5.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-colamd.json b/versions/s-/suitesparse-colamd.json new file mode 100644 index 00000000000000..1410a33b604d46 --- /dev/null +++ b/versions/s-/suitesparse-colamd.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0be8cf0d5a1f0e153fd2d86087cfeba6b18bcc7f", + "version-semver": "3.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-config.json b/versions/s-/suitesparse-config.json new file mode 100644 index 00000000000000..4cca2034f1c8ed --- /dev/null +++ b/versions/s-/suitesparse-config.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e81b523e6d16c4af9d8abc86316b87da52e55eeb", + "version-semver": "7.8.3", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-cxsparse.json b/versions/s-/suitesparse-cxsparse.json new file mode 100644 index 00000000000000..c778b6fe5784ab --- /dev/null +++ b/versions/s-/suitesparse-cxsparse.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "90e50a5644c3d1d97cca75a8b3a27774f0d51726", + "version-semver": "4.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-graphblas.json b/versions/s-/suitesparse-graphblas.json new file mode 100644 index 00000000000000..48ba2de8ab0d7f --- /dev/null +++ b/versions/s-/suitesparse-graphblas.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "dd22513a4574dcbd0f3da68793a2553250d48d68", + "version-semver": "9.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-klu.json b/versions/s-/suitesparse-klu.json new file mode 100644 index 00000000000000..adc1358a5ed50a --- /dev/null +++ b/versions/s-/suitesparse-klu.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2acd8c29384983f7546442ff3f5702022133f582", + "version-semver": "2.3.5", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-lagraph.json b/versions/s-/suitesparse-lagraph.json new file mode 100644 index 00000000000000..150a3f3fab8bb6 --- /dev/null +++ b/versions/s-/suitesparse-lagraph.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "09ad074c071367bc56c4fabe050329229c1178e7", + "version-semver": "1.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-ldl.json b/versions/s-/suitesparse-ldl.json new file mode 100644 index 00000000000000..bd5e51e23759c6 --- /dev/null +++ b/versions/s-/suitesparse-ldl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e04f8bc03518f9a3996cf06b459aff42a7614b5e", + "version-semver": "3.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-mongoose.json b/versions/s-/suitesparse-mongoose.json new file mode 100644 index 00000000000000..f11f6e695206dd --- /dev/null +++ b/versions/s-/suitesparse-mongoose.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a52c1697a649f8103a7747ae37ade388df0114ec", + "version-semver": "3.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-paru.json b/versions/s-/suitesparse-paru.json new file mode 100644 index 00000000000000..231998fdc05ffb --- /dev/null +++ b/versions/s-/suitesparse-paru.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6dbf9f5ee322a71ed81296be57f3152ee5aab89a", + "version-semver": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-rbio.json b/versions/s-/suitesparse-rbio.json new file mode 100644 index 00000000000000..c062b5e121011f --- /dev/null +++ b/versions/s-/suitesparse-rbio.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "dfa06ea20dc02a1b9556779ddefefc104e5fae97", + "version-semver": "4.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-spex.json b/versions/s-/suitesparse-spex.json new file mode 100644 index 00000000000000..f44b3a33d988ce --- /dev/null +++ b/versions/s-/suitesparse-spex.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3518f32caf90c50135f4cc86f47c4bd004e7cf01", + "version-semver": "3.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-spqr.json b/versions/s-/suitesparse-spqr.json new file mode 100644 index 00000000000000..c03e89d084053f --- /dev/null +++ b/versions/s-/suitesparse-spqr.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d95de97995cfd58a3f385beb06c20c9f60e17dbf", + "version-semver": "4.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse-umfpack.json b/versions/s-/suitesparse-umfpack.json new file mode 100644 index 00000000000000..401785d6fd8f09 --- /dev/null +++ b/versions/s-/suitesparse-umfpack.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0061796cc2c7fca5123d01266055f344817a984f", + "version-semver": "6.3.5", + "port-version": 0 + } + ] +} diff --git a/versions/s-/suitesparse.json b/versions/s-/suitesparse.json index 92ee992824c6f9..de8564d18943d1 100644 --- a/versions/s-/suitesparse.json +++ b/versions/s-/suitesparse.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "af97539d5cd3d478feb099b3b652a673828f580f", + "version-semver": "7.8.3", + "port-version": 0 + }, { "git-tree": "fb26833d46e56ee2e9986294be860acc1e81c074", "version-semver": "5.8.0", diff --git a/versions/t-/theia.json b/versions/t-/theia.json index 6da34965a18c73..33dbf67cee55b0 100644 --- a/versions/t-/theia.json +++ b/versions/t-/theia.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f8e946577045c31a9427448049ebe4e98c4624a4", + "version": "0.8", + "port-version": 13 + }, { "git-tree": "fcce9342a3c7301139dd9d9a388657d99fdcc159", "version": "0.8", From fc97d3e7d5b894cf71d5b51b489d861edb9ea748 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Jan 2025 17:02:42 +0900 Subject: [PATCH 02/35] [libdivide] update to 5.2.0 (#43498) --- ports/libdivide/no-werror.patch | 34 +++++++++++++++++++-------------- ports/libdivide/portfile.cmake | 7 +++---- ports/libdivide/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/l-/libdivide.json | 5 +++++ 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/ports/libdivide/no-werror.patch b/ports/libdivide/no-werror.patch index b59fa059b04de2..9d15381f8d0ba3 100644 --- a/ports/libdivide/no-werror.patch +++ b/ports/libdivide/no-werror.patch @@ -1,19 +1,25 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7800a13..f01a139 100644 +index 136400d..f54a722 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -15,10 +15,10 @@ include(CMakeSanitize) - +@@ -15,15 +15,15 @@ include(CMakePushCheckState) # Maximum warnings level & warnings as error - add_compile_options( -- "$<$:/W4;/WX>" -- "$<$:-Wall;-Wextra;-pedantic;-Werror>" -- "$<$:-Wall;-Wextra;-pedantic;-Werror>" -- "$<$:-Wall;-Wextra;-pedantic;-Werror>" -+ "$<$:/W4>" -+ "$<$:-Wall;-Wextra;-pedantic>" -+ "$<$:-Wall;-Wextra;-pedantic>" -+ "$<$:-Wall;-Wextra;-pedantic>" - ) + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") # clang-cl +- add_compile_options("/W4;/WX;") ++ add_compile_options("/W4") + else() # clang native +- add_compile_options("-Wall;-Wextra;-pedantic;-Werror") ++ add_compile_options("-Wall;-Wextra;-pedantic") + endif() + else() + add_compile_options( +- "$<$:/W4;/WX>" +- "$<$:-Wall;-Wextra;-pedantic;-Werror>" +- "$<$:-Wall;-Wextra;-pedantic;-Werror>" ++ "$<$:/W4>" ++ "$<$:-Wall;-Wextra;-pedantic>" ++ "$<$:-Wall;-Wextra;-pedantic>" + ) + endif() - # Build options ################################################ diff --git a/ports/libdivide/portfile.cmake b/ports/libdivide/portfile.cmake index ed326d6d34c88d..008a6037f67a7a 100644 --- a/ports/libdivide/portfile.cmake +++ b/ports/libdivide/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ridiculousfish/libdivide REF "v${VERSION}" - SHA512 1c94dabca83984ef8190ba91b328e5e994a9bc41b4f4b6800d7417db3312283576759ba3039741a4f045adab6f0391b82ba93523b802bb6a37bc3fd693a80e05 + SHA512 1a429b436e545360fb898e059ce689f5123d3fce25242d5a54e52588b75c97008918c1dc5e43f537eb8b2e61577339955ca66d9bbb0eb4440a00500a8a146ccf HEAD_REF master PATCHES no-werror.patch @@ -10,7 +10,7 @@ vcpkg_from_github( vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - test BUILD_TESTS + test LIBDIVIDE_BUILD_TESTS ) vcpkg_cmake_configure( @@ -21,7 +21,6 @@ vcpkg_cmake_configure( -DLIBDIVIDE_AVX2=OFF -DLIBDIVIDE_AVX512=OFF -DLIBDIVIDE_NEON=OFF - -DENABLE_VECTOR_EXTENSIONS=OFF ) vcpkg_cmake_install() @@ -32,4 +31,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libdivide/vcpkg.json b/ports/libdivide/vcpkg.json index 2cf56e454a24f2..e5a020049c12a0 100644 --- a/ports/libdivide/vcpkg.json +++ b/ports/libdivide/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdivide", - "version": "5.1", + "version": "5.2.0", "description": "libdivide.h is a header-only C/C++ library for optimizing integer division.", "homepage": "https://github.com/ridiculousfish/libdivide", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index 309586e05e8d59..f4712fa8812444 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4445,7 +4445,7 @@ "port-version": 11 }, "libdivide": { - "baseline": "5.1", + "baseline": "5.2.0", "port-version": 0 }, "libdjinterop": { diff --git a/versions/l-/libdivide.json b/versions/l-/libdivide.json index 3723f7c7d38337..1dde80d3d91f0d 100644 --- a/versions/l-/libdivide.json +++ b/versions/l-/libdivide.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5e81740fc7d610d3c1f30867c8aa127c7db25bcd", + "version": "5.2.0", + "port-version": 0 + }, { "git-tree": "ad57bd243a7411f834cb0dafae9f2b4ffa76c0a3", "version": "5.1", From 73ee328162aa172b49e7990f99db07778b644281 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Wed, 29 Jan 2025 13:28:19 -0800 Subject: [PATCH 03/35] Update vcpkg-tool to 2025-01-29. (#43525) --- scripts/vcpkg-tool-metadata.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/vcpkg-tool-metadata.txt b/scripts/vcpkg-tool-metadata.txt index b0ff618b26055d..cf53c6a906eff0 100644 --- a/scripts/vcpkg-tool-metadata.txt +++ b/scripts/vcpkg-tool-metadata.txt @@ -1,5 +1,5 @@ -VCPKG_TOOL_RELEASE_TAG=2025-01-24 -VCPKG_MACOS_SHA=54b6b02650eda923a2af2684ee58090fc78d900845bff25cc47d05803d9d9d0f82d0dd611f9b67bff18932250b19addc2c4025fb29751d8ce2ec1a6d884035cb -VCPKG_MUSLC_SHA=9fa0950f943516c047b940684177cc887e75d1a414a09d90e243d7903645c42cb666801d870e1faab2f4ea8765bd7c36b580f908d778e67aafff2669802cb1b3 -VCPKG_GLIBC_SHA=d8ce4c85eff1541d200a3d07120147562128d9912333d6c54d7dd8d565c76ae3091adec370474d80f94a71de39b58485c3ba7db9ccd14ef9f803b0258a8d6dd0 -VCPKG_TOOL_SOURCE_SHA=b7f19a6c9c15dbae1b01bcf52bfb8dc4e5bf1a6d15ed289c69cf9ade292b0e96a125fbfab24cfae79e406c27a7adcdc0a53abae8af6f8fa3f54590b40d5b7f09 +VCPKG_TOOL_RELEASE_TAG=2025-01-29 +VCPKG_MACOS_SHA=1d65ba115915a622d314d72cccdd0dfcfb7b69ab601d8beddbf2e81be74126b79fd566e2992f7441dd5b011cebc63ed5f160bdb50cbcd4901b106b4e4bc03833 +VCPKG_MUSLC_SHA=6a64d0a2a5c2f8bd3a1d78657dd62f4d45876c53cfabf731ee6535294ca15041e815fe7959ab6ae0c9c71c16484a5d66f060142063e2c9c00b753ce8939f5dd7 +VCPKG_GLIBC_SHA=b11b159bdf6f262c916102281c02b8474df1ee611b7c590c7e0521fc22bd70ed8e9c53b6c0e037b1e287a2a40dde00237e698c46936052550c7c5c2437c3cc38 +VCPKG_TOOL_SOURCE_SHA=bbb3bdb254b9ca0161a3df6127a57fe5e3064529ab9b4ec165a320df745d6dc6afc75bb665be0ab0517ac07801cc13cf086c37b41c95bd6c8c509a7a136e9538 From d7249f86072169553d431b1f3d79eb3951f2bb9a Mon Sep 17 00:00:00 2001 From: Nick D'Ademo Date: Thu, 30 Jan 2025 15:58:41 +0800 Subject: [PATCH 04/35] [qt-advanced-docking-system] update to 4.4.0 (#43542) Co-authored-by: Nick D'Ademo --- ports/qt-advanced-docking-system/portfile.cmake | 6 +++--- ports/qt-advanced-docking-system/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/q-/qt-advanced-docking-system.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/qt-advanced-docking-system/portfile.cmake b/ports/qt-advanced-docking-system/portfile.cmake index 501c629cd68ffc..d6b0c60bc51559 100644 --- a/ports/qt-advanced-docking-system/portfile.cmake +++ b/ports/qt-advanced-docking-system/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO githubuser0xFFFF/Qt-Advanced-Docking-System REF "${VERSION}" - SHA512 ee78b1c7f6164b06ce9c193aa5dfa19281a1c894cd8a8cbcae6d137abc13417f32e0f2a05f9d91557e14ced91b3b541991065d0ee190ea5ad2623c3848674eaf + SHA512 57ffa7280741744edeb5c808589b9724c6b074d0e9031ae2e2ae6ccc404f11a35a2201baf16c4bfc9ee04d0c971e0c60d00bf7712bd7335aa41e1da5b97d272a HEAD_REF master ) @@ -22,9 +22,9 @@ vcpkg_cmake_configure( -DBUILD_STATIC=${BUILD_STATIC} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME "qt6advanceddocking" CONFIG_PATH "lib/cmake/qt6advanceddocking") +vcpkg_cmake_config_fixup(PACKAGE_NAME "qtadvanceddocking-qt6" CONFIG_PATH "lib/cmake/qtadvanceddocking-qt6") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/qt6advanceddocking/qt6advanceddockingConfig.cmake" +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/qtadvanceddocking-qt6/qtadvanceddocking-qt6Config.cmake" "include(CMakeFindDependencyMacro)" [[include(CMakeFindDependencyMacro) find_dependency(Qt6 COMPONENTS Core Gui Widgets)]]) diff --git a/ports/qt-advanced-docking-system/vcpkg.json b/ports/qt-advanced-docking-system/vcpkg.json index 5d0f77e6122ff4..b4ccd7e1fb3b48 100644 --- a/ports/qt-advanced-docking-system/vcpkg.json +++ b/ports/qt-advanced-docking-system/vcpkg.json @@ -1,6 +1,6 @@ { "name": "qt-advanced-docking-system", - "version": "4.3.1", + "version": "4.4.0", "description": "Create customizable layouts using an advanced window docking system similar to what is found in many popular IDEs such as Visual Studio", "homepage": "https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System", "license": "LGPL-2.1-only", diff --git a/versions/baseline.json b/versions/baseline.json index f4712fa8812444..7b7275a4f4bd1d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7385,7 +7385,7 @@ "port-version": 0 }, "qt-advanced-docking-system": { - "baseline": "4.3.1", + "baseline": "4.4.0", "port-version": 0 }, "qt3d": { diff --git a/versions/q-/qt-advanced-docking-system.json b/versions/q-/qt-advanced-docking-system.json index 5f9f7ba7dada94..b24d08ac078cce 100644 --- a/versions/q-/qt-advanced-docking-system.json +++ b/versions/q-/qt-advanced-docking-system.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d0416590051af6df9d6aa0f1f1591b8b18ab0905", + "version": "4.4.0", + "port-version": 0 + }, { "git-tree": "421d2654780d642434d6778897edc9562416a878", "version": "4.3.1", From c5cf150727ff7c9b841a7f2d7c3e70ebb454aa2f Mon Sep 17 00:00:00 2001 From: Francisco Facioni Date: Thu, 30 Jan 2025 09:08:18 +0100 Subject: [PATCH 05/35] crashpad - fixes for release only (#43537) --- ports/crashpad/portfile.cmake | 39 +++++++++++++++++++++++------------ ports/crashpad/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/c-/crashpad.json | 5 +++++ 4 files changed, 33 insertions(+), 15 deletions(-) diff --git a/ports/crashpad/portfile.cmake b/ports/crashpad/portfile.cmake index 57ad2305cdc145..c6549fe5e8115b 100644 --- a/ports/crashpad/portfile.cmake +++ b/ports/crashpad/portfile.cmake @@ -36,13 +36,15 @@ if(NOT EXISTS "${SOURCE_PATH}/third_party/lss/lss/BUILD.gn" AND (VCPKG_TARGET_IS endif() function(replace_gn_dependency INPUT_FILE OUTPUT_FILE LIBRARY_NAMES) - unset(_LIBRARY_DEB CACHE) - find_library(_LIBRARY_DEB NAMES ${LIBRARY_NAMES} - PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" - NO_DEFAULT_PATH) - - if(_LIBRARY_DEB MATCHES "-NOTFOUND" AND NOT VCPKG_BUILD_TYPE) - message(FATAL_ERROR "Could not find debug library with names: ${LIBRARY_NAMES}") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + unset(_LIBRARY_DEB CACHE) + find_library(_LIBRARY_DEB NAMES ${LIBRARY_NAMES} + PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" + NO_DEFAULT_PATH) + + if(_LIBRARY_DEB MATCHES "-NOTFOUND") + message(FATAL_ERROR "Could not find debug library with names: ${LIBRARY_NAMES}") + endif() endif() unset(_LIBRARY_REL CACHE) @@ -54,6 +56,10 @@ function(replace_gn_dependency INPUT_FILE OUTPUT_FILE LIBRARY_NAMES) message(FATAL_ERROR "Could not find library with names: ${LIBRARY_NAMES}") endif() + if(VCPKG_BUILD_TYPE STREQUAL "release") + set(_LIBRARY_DEB ${_LIBRARY_REL}) + endif() + set(_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include") file(REMOVE "${OUTPUT_FILE}") @@ -131,13 +137,12 @@ install_headers("${SOURCE_PATH}/util") install_headers("${SOURCE_PATH}/third_party/mini_chromium/mini_chromium/base") install_headers("${SOURCE_PATH}/third_party/mini_chromium/mini_chromium/build") -if(NOT VCPKG_BUILD_TYPE) - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gen/build/chromeos_buildflags.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gen/build/chromeos_buildflags.h.flags" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") -endif() +file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen/build/chromeos_buildflags.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") +file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen/build/chromeos_buildflags.h.flags" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") + if(VCPKG_TARGET_IS_OSX) - if(NOT VCPKG_BUILD_TYPE) - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") endif() file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") endif() @@ -146,6 +151,14 @@ vcpkg_copy_tools( TOOL_NAMES crashpad_handler SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools") +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + file(CHMOD "${CURRENT_PACKAGES_DIR}/tools/crashpad_handler" FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) +endif() + # remove empty directories file(REMOVE_RECURSE "${PACKAGES_INCLUDE_DIR}/util/net/testdata" diff --git a/ports/crashpad/vcpkg.json b/ports/crashpad/vcpkg.json index 008749cd6c8ce4..5f361ae967a3d7 100644 --- a/ports/crashpad/vcpkg.json +++ b/ports/crashpad/vcpkg.json @@ -1,7 +1,7 @@ { "name": "crashpad", "version-date": "2024-04-11", - "port-version": 5, + "port-version": 6, "description": [ "Crashpad is a crash-reporting system.", "Crashpad is a library for capturing, storing and transmitting postmortem crash reports from a client to an upstream collection server. Crashpad aims to make it possible for clients to capture process state at the time of crash with the best possible fidelity and coverage, with the minimum of fuss." diff --git a/versions/baseline.json b/versions/baseline.json index 7b7275a4f4bd1d..d1ff8e585606ac 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2026,7 +2026,7 @@ }, "crashpad": { "baseline": "2024-04-11", - "port-version": 5 + "port-version": 6 }, "crashrpt": { "baseline": "1.4.3", diff --git a/versions/c-/crashpad.json b/versions/c-/crashpad.json index 506ad1aa067c17..b64ac2e5b95fa6 100644 --- a/versions/c-/crashpad.json +++ b/versions/c-/crashpad.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f4a723194e550246d2a2b2717d0d7d1135e09fb0", + "version-date": "2024-04-11", + "port-version": 6 + }, { "git-tree": "8d69f9f6012875359ec0ec69b8808f80a4cf944b", "version-date": "2024-04-11", From 4260a268bb15b3f988a977cb83bae05b8ae773d4 Mon Sep 17 00:00:00 2001 From: c8ef Date: Thu, 30 Jan 2025 16:10:30 +0800 Subject: [PATCH 06/35] [folly related] update to 01.27 (#43541) --- ports/fbthrift/portfile.cmake | 2 +- ports/fbthrift/vcpkg.json | 2 +- ports/fizz/portfile.cmake | 2 +- ports/fizz/vcpkg.json | 2 +- ports/folly/portfile.cmake | 2 +- ports/folly/vcpkg.json | 2 +- ports/mvfst/portfile.cmake | 2 +- ports/mvfst/vcpkg.json | 2 +- ports/proxygen/portfile.cmake | 2 +- ports/proxygen/vcpkg.json | 2 +- ports/wangle/portfile.cmake | 2 +- ports/wangle/vcpkg.json | 2 +- versions/baseline.json | 12 ++++++------ versions/f-/fbthrift.json | 5 +++++ versions/f-/fizz.json | 5 +++++ versions/f-/folly.json | 5 +++++ versions/m-/mvfst.json | 5 +++++ versions/p-/proxygen.json | 5 +++++ versions/w-/wangle.json | 5 +++++ 19 files changed, 48 insertions(+), 18 deletions(-) diff --git a/ports/fbthrift/portfile.cmake b/ports/fbthrift/portfile.cmake index 276f67f8d87247..e87f74ba33bf9e 100644 --- a/ports/fbthrift/portfile.cmake +++ b/ports/fbthrift/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/fbthrift REF "v${VERSION}" - SHA512 73d2a296c591a7b58a1b6acf0976ee60df7dc7bee8e044342a59f74e139fdf51195e7656fb195ebbe9ac42d3910ed6f827624c2f4c2b7b7c0309e8a3791ddf61 + SHA512 36b0c2f7f36675ae3c4f79ca0c22fb4fdd729473d4c10d29484cf968759085aa66e10719eb79185cfc22028f230cdcf700d140cf178de420b9ef645860e0aba7 HEAD_REF main PATCHES fix-deps.patch diff --git a/ports/fbthrift/vcpkg.json b/ports/fbthrift/vcpkg.json index 5cf0438b5c493a..f9ba37e210d652 100644 --- a/ports/fbthrift/vcpkg.json +++ b/ports/fbthrift/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fbthrift", - "version-string": "2025.01.20.00", + "version-string": "2025.01.27.00", "description": "Facebook's branch of Apache Thrift, including a new C++ server.", "homepage": "https://github.com/facebook/fbthrift", "license": "Apache-2.0", diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index 29888dce57a93b..12335132a8978d 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/fizz REF "v${VERSION}" - SHA512 1d31758cfd3a09f9dad5774481d9dbe2aadd21a8277ea23c7304adb3cb56f4c26401ea238814431255510a538e7604f7349b57ebcde72f4ce45d0ac57dca3538 + SHA512 102367c7eecb328dbefda664c55584dffd53e67eb4e784b104c30ac8597d567fe26aec2f9d5fe60d41bebc08dcaa93a653afc36663dece6ad610ff38e76c4d2e HEAD_REF main PATCHES fix-build.patch diff --git a/ports/fizz/vcpkg.json b/ports/fizz/vcpkg.json index 1cfde38c544449..3aed0e705ece34 100644 --- a/ports/fizz/vcpkg.json +++ b/ports/fizz/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fizz", - "version-string": "2025.01.20.00", + "version-string": "2025.01.27.00", "description": "a TLS 1.3 implementation by Facebook", "homepage": "https://github.com/facebookincubator/fizz", "license": "BSD-3-Clause", diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index f1998514870e67..7d113b14b34d6c 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly REF "v${VERSION}" - SHA512 36e513eab062e7e7c2ebd1691507bac801995b8334d263fd06d6d30a88446782dae5ad66c20f549608522f302748208e67762ce12cdb6577433e323142556f25 + SHA512 3174e218512c6e702c38690fc7cc34657f5bdda62866c3b5c948fbe81cae7835fa626d587703b6d4a0ade92bcd1a9721f4125609e945b439e9ef87ef7804dfcf HEAD_REF main PATCHES fix-windows-minmax.patch diff --git a/ports/folly/vcpkg.json b/ports/folly/vcpkg.json index b84a2bf42f371f..53c206e6632c47 100644 --- a/ports/folly/vcpkg.json +++ b/ports/folly/vcpkg.json @@ -1,6 +1,6 @@ { "name": "folly", - "version-string": "2025.01.20.00", + "version-string": "2025.01.27.00", "description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows", "homepage": "https://github.com/facebook/folly", "license": "Apache-2.0", diff --git a/ports/mvfst/portfile.cmake b/ports/mvfst/portfile.cmake index 4753a979553da7..343d5d5a41f549 100644 --- a/ports/mvfst/portfile.cmake +++ b/ports/mvfst/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/mvfst REF "v${VERSION}" - SHA512 3aa0498bbb6cd63810e1118b019b923457defb0e3c036a8a9ffd6e0a8931941108a70691d7725a9d15e2da43a7dd1345e380ad53b3e749c768cb455395c79551 + SHA512 ac21a04fa9e4d94904cfd33f308b685707c6fe863f17092c63d444e131ea8c06a4428b123a72fc03c1a650c57ebc038324b80e5616685d1e845884bedf7cd12a HEAD_REF main ) diff --git a/ports/mvfst/vcpkg.json b/ports/mvfst/vcpkg.json index cd34b5176fe46b..0ec0570e7ab496 100644 --- a/ports/mvfst/vcpkg.json +++ b/ports/mvfst/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mvfst", - "version-string": "2025.01.20.00", + "version-string": "2025.01.27.00", "description": "mvfst (Pronounced move fast) is a client and server implementation of IETF QUIC protocol in C++ by Facebook.", "homepage": "https://github.com/facebook/mvfst", "license": "MIT", diff --git a/ports/proxygen/portfile.cmake b/ports/proxygen/portfile.cmake index 7a6f0bd26c004b..d8ff26067fdace 100644 --- a/ports/proxygen/portfile.cmake +++ b/ports/proxygen/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/proxygen REF "v${VERSION}" - SHA512 07bd74e95251252f3226585d8c5b124dabf97960893846d4eafd906b4b44d80501717c33097cdec531cbc9ba200b1bf6c1b42b5f396ed8be552cd2379bcbeaa6 + SHA512 2a912623a7b7a4bef7a0d9ab5a7830616b7a2490e36acebc1f91b5330b48d5b5e91b72cd61f87011bf841750e603e192dc9aa7294f4734f59fd18d55b1204814 HEAD_REF main PATCHES remove-register.patch diff --git a/ports/proxygen/vcpkg.json b/ports/proxygen/vcpkg.json index 02a7177d5a5d0c..6210d7e59e3576 100644 --- a/ports/proxygen/vcpkg.json +++ b/ports/proxygen/vcpkg.json @@ -1,6 +1,6 @@ { "name": "proxygen", - "version-string": "2025.01.20.00", + "version-string": "2025.01.27.00", "description": "It comprises the core C++ HTTP abstractions used at Facebook.", "homepage": "https://github.com/facebook/proxygen", "license": "BSD-3-Clause", diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake index 265a38d3aa5588..dabe0e8d0b7781 100644 --- a/ports/wangle/portfile.cmake +++ b/ports/wangle/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/wangle REF "v${VERSION}" - SHA512 ac57d01ea0432b93b8b3f91a22b91ec23ab32bcff2fa36b0feb975b64eec8b0fa27e0a65e624ce1d41775da61733f368545948b28a0b24467dc0b590eab4befb + SHA512 4e3e5881bbb9258493e331863a38b3ad98af07bf2608d00246b16ac8af0579cbc3762e97c7fdc4927b9ec66f990b78a5a727c584a46d14bf67a8c912c1439e32 HEAD_REF main PATCHES fix-config-cmake.patch diff --git a/ports/wangle/vcpkg.json b/ports/wangle/vcpkg.json index b83d22022900cf..64fa78e36c54a3 100644 --- a/ports/wangle/vcpkg.json +++ b/ports/wangle/vcpkg.json @@ -1,6 +1,6 @@ { "name": "wangle", - "version-string": "2025.01.20.00", + "version-string": "2025.01.27.00", "description": "Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.", "homepage": "https://github.com/facebook/wangle", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index d1ff8e585606ac..bbd1ea9f425aa4 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2717,7 +2717,7 @@ "port-version": 1 }, "fbthrift": { - "baseline": "2025.01.20.00", + "baseline": "2025.01.27.00", "port-version": 0 }, "fcl": { @@ -2769,7 +2769,7 @@ "port-version": 0 }, "fizz": { - "baseline": "2025.01.20.00", + "baseline": "2025.01.27.00", "port-version": 0 }, "flagpp": { @@ -2853,7 +2853,7 @@ "port-version": 1 }, "folly": { - "baseline": "2025.01.20.00", + "baseline": "2025.01.27.00", "port-version": 0 }, "font-chef": { @@ -6217,7 +6217,7 @@ "port-version": 7 }, "mvfst": { - "baseline": "2025.01.20.00", + "baseline": "2025.01.27.00", "port-version": 0 }, "mygui": { @@ -7269,7 +7269,7 @@ "port-version": 0 }, "proxygen": { - "baseline": "2025.01.20.00", + "baseline": "2025.01.27.00", "port-version": 0 }, "psimd": { @@ -9693,7 +9693,7 @@ "port-version": 0 }, "wangle": { - "baseline": "2025.01.20.00", + "baseline": "2025.01.27.00", "port-version": 0 }, "wasmedge": { diff --git a/versions/f-/fbthrift.json b/versions/f-/fbthrift.json index ac55db947c687c..cf5bd0b9258d6f 100644 --- a/versions/f-/fbthrift.json +++ b/versions/f-/fbthrift.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "200152bdefd443b9f7aae30bca361e1eff2373bc", + "version-string": "2025.01.27.00", + "port-version": 0 + }, { "git-tree": "4000d188b14fe5d90abbdab10701cef91c79a273", "version-string": "2025.01.20.00", diff --git a/versions/f-/fizz.json b/versions/f-/fizz.json index 67bac0f6d74362..af65cbe9e91d24 100644 --- a/versions/f-/fizz.json +++ b/versions/f-/fizz.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ca1872295a1fa2c39ff62cb92759945958ffdf3f", + "version-string": "2025.01.27.00", + "port-version": 0 + }, { "git-tree": "35641d49060b7e05d7afdb1a64fe954787dae717", "version-string": "2025.01.20.00", diff --git a/versions/f-/folly.json b/versions/f-/folly.json index bc1e993e28e563..2a102b13f3bfb3 100644 --- a/versions/f-/folly.json +++ b/versions/f-/folly.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7d1f8ebe1f2589b1753609b8f02d263a3c7f04bd", + "version-string": "2025.01.27.00", + "port-version": 0 + }, { "git-tree": "ffd27632adcf6ef725209d09ce3f85f5a2e1026a", "version-string": "2025.01.20.00", diff --git a/versions/m-/mvfst.json b/versions/m-/mvfst.json index 58a8fa40a6c80a..6e4995d7000a36 100644 --- a/versions/m-/mvfst.json +++ b/versions/m-/mvfst.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e317fa94d3f293afebbc515fa673322221edce0e", + "version-string": "2025.01.27.00", + "port-version": 0 + }, { "git-tree": "71e174f383c64bb81b15a406571a8f30ca4a990a", "version-string": "2025.01.20.00", diff --git a/versions/p-/proxygen.json b/versions/p-/proxygen.json index 5db97aae48b338..68d51ed72f3abd 100644 --- a/versions/p-/proxygen.json +++ b/versions/p-/proxygen.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9aa412d0a25d070033a9a3689ee3d2eef8f235ae", + "version-string": "2025.01.27.00", + "port-version": 0 + }, { "git-tree": "ba4e9be6373868b4515bd786d1ff43c83fbe89ae", "version-string": "2025.01.20.00", diff --git a/versions/w-/wangle.json b/versions/w-/wangle.json index c8fabfb00e2887..f1fdaf519ca731 100644 --- a/versions/w-/wangle.json +++ b/versions/w-/wangle.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5f3f77ef7a42581a4be9c545302a23a759e91b46", + "version-string": "2025.01.27.00", + "port-version": 0 + }, { "git-tree": "aec32fbede9afcebbbdd4eb2abdd7f0270e4a8f9", "version-string": "2025.01.20.00", From e887572bc49ffa8572cfda071038056ad299f8d9 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Jan 2025 17:12:48 +0900 Subject: [PATCH 07/35] [simdjson] update to 3.12.0 (#43536) --- ports/simdjson/portfile.cmake | 4 ++-- ports/simdjson/vcpkg.json | 4 ++-- versions/baseline.json | 2 +- versions/s-/simdjson.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/simdjson/portfile.cmake b/ports/simdjson/portfile.cmake index ab004f780279dc..763efe07781b42 100644 --- a/ports/simdjson/portfile.cmake +++ b/ports/simdjson/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( REPO simdjson/simdjson REF "v${VERSION}" HEAD_REF master - SHA512 b19fde8d81eaff34b83bb41028d7ee3a408ae5bc896277148e96879b1cba1a7cfc4af0064973bcb07e2b56e0955c3a3a581910d7af23d68510374e7f297c3b7c + SHA512 c28a235b252d520cf45defab8d64088db71aa8f3fa75746db237cbd8145054b4fb6b8c2783b0a9fefaf8a8f860feb2bd0b2f5ce4303eed8ceca3725d79af6c13 ) vcpkg_check_features( @@ -41,4 +41,4 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/LICENSE-MIT") diff --git a/ports/simdjson/vcpkg.json b/ports/simdjson/vcpkg.json index e88b6e46485b9e..ce9b61cfb35482 100644 --- a/ports/simdjson/vcpkg.json +++ b/ports/simdjson/vcpkg.json @@ -1,9 +1,9 @@ { "name": "simdjson", - "version": "3.10.1", + "version": "3.12.0", "description": "An extremely fast JSON library that can parse gigabytes of JSON per second", "homepage": "https://simdjson.org/", - "license": "Apache-2.0", + "license": "Apache-2.0 OR MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/versions/baseline.json b/versions/baseline.json index bbd1ea9f425aa4..a85415262cbc0f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -8425,7 +8425,7 @@ "port-version": 0 }, "simdjson": { - "baseline": "3.10.1", + "baseline": "3.12.0", "port-version": 0 }, "simdutf": { diff --git a/versions/s-/simdjson.json b/versions/s-/simdjson.json index 1102a6a3374bfb..351257444a7038 100644 --- a/versions/s-/simdjson.json +++ b/versions/s-/simdjson.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2f179416811614e9c85da7f3370de8275af9c90e", + "version": "3.12.0", + "port-version": 0 + }, { "git-tree": "d2103b03c687dbd783b48300c35531b9961d0523", "version": "3.10.1", From 6774e215365a9bd3e9ad99ade596dae030cfc320 Mon Sep 17 00:00:00 2001 From: Carlo Bramini Date: Thu, 30 Jan 2025 09:14:30 +0100 Subject: [PATCH 08/35] [libebur128] fix build for arm64-windows (#43535) --- ports/libebur128/0001-remove-warning-message.patch | 11 +++++++++++ ports/libebur128/portfile.cmake | 6 ++---- ports/libebur128/vcpkg.json | 3 +-- versions/baseline.json | 2 +- versions/l-/libebur128.json | 5 +++++ 5 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 ports/libebur128/0001-remove-warning-message.patch diff --git a/ports/libebur128/0001-remove-warning-message.patch b/ports/libebur128/0001-remove-warning-message.patch new file mode 100644 index 00000000000000..4901c33f17d103 --- /dev/null +++ b/ports/libebur128/0001-remove-warning-message.patch @@ -0,0 +1,11 @@ +--- a/ebur128/ebur128.c 2021-02-14 15:31:05.000000000 +0100 ++++ b/ebur128/ebur128.c 2025-01-28 10:43:26.975886500 +0100 +@@ -606,7 +606,7 @@ + #define TURN_OFF_FTZ _mm_setcsr(mxcsr); + #define FLUSH_MANUALLY + #else +-#warning "manual FTZ is being used, please enable SSE2 (-msse2 -mfpmath=sse)" ++//#warning "manual FTZ is being used, please enable SSE2 (-msse2 -mfpmath=sse)" + #define TURN_ON_FTZ + #define TURN_OFF_FTZ + #define FLUSH_MANUALLY \ diff --git a/ports/libebur128/portfile.cmake b/ports/libebur128/portfile.cmake index 4a054e04cb7d0e..eb876b113c1e5a 100644 --- a/ports/libebur128/portfile.cmake +++ b/ports/libebur128/portfile.cmake @@ -1,12 +1,10 @@ -if((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "${PORT} does not support Windows ARM") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jiixyj/libebur128 REF v1.2.6 SHA512 ab188c6d32cd14613119258313a8a3fb1167b55501c9f5b6d3ba738d674bc58f24ac3034c23d9730ed8dc3e95a23619bfb81719e4c79807a9a16c1a5b3423582 + PATCHES + 0001-remove-warning-message.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" diff --git a/ports/libebur128/vcpkg.json b/ports/libebur128/vcpkg.json index 5d0f6ace77a860..920499a9ae9b53 100644 --- a/ports/libebur128/vcpkg.json +++ b/ports/libebur128/vcpkg.json @@ -1,11 +1,10 @@ { "name": "libebur128", "version": "1.2.6", - "port-version": 2, + "port-version": 3, "description": "A library implementing the EBU R128 audio loudness standard", "homepage": "https://github.com/jiixyj/libebur128", "license": "MIT", - "supports": "!(arm & windows)", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/versions/baseline.json b/versions/baseline.json index a85415262cbc0f..a73a07f6cfd271 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4486,7 +4486,7 @@ }, "libebur128": { "baseline": "1.2.6", - "port-version": 2 + "port-version": 3 }, "libedit": { "baseline": "2024-08-08", diff --git a/versions/l-/libebur128.json b/versions/l-/libebur128.json index b4af5e2806a41f..431a9180db42ec 100644 --- a/versions/l-/libebur128.json +++ b/versions/l-/libebur128.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3254ea84f13ac860f7ee1643cccf89a1f225c534", + "version": "1.2.6", + "port-version": 3 + }, { "git-tree": "97dd5a1812c03f1822d75e8fa10ade616c7d9f15", "version": "1.2.6", From 381b327c0efbf55a5b7dc4a57ed941aaa729f4c7 Mon Sep 17 00:00:00 2001 From: jreichel-nvidia <43646584+jreichel-nvidia@users.noreply.github.com> Date: Thu, 30 Jan 2025 09:15:37 +0100 Subject: [PATCH 09/35] [mdl-sdk] Update to 2024.1 (#43531) --- ports/mdl-sdk/008-build-static-llvm.patch | 10 -- .../012-remove-wrong-llvm-cxx-standard.patch | 11 -- ports/mdl-sdk/013-openimageio-3.0.patch | 100 ------------------ ports/mdl-sdk/portfile.cmake | 8 +- ports/mdl-sdk/vcpkg.json | 3 +- versions/baseline.json | 4 +- versions/m-/mdl-sdk.json | 5 + 7 files changed, 10 insertions(+), 131 deletions(-) delete mode 100644 ports/mdl-sdk/008-build-static-llvm.patch delete mode 100755 ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch delete mode 100644 ports/mdl-sdk/013-openimageio-3.0.patch diff --git a/ports/mdl-sdk/008-build-static-llvm.patch b/ports/mdl-sdk/008-build-static-llvm.patch deleted file mode 100644 index d391f655af5d24..00000000000000 --- a/ports/mdl-sdk/008-build-static-llvm.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/mdl/jit/llvm/CMakeLists.txt -+++ b/src/mdl/jit/llvm/CMakeLists.txt -@@ -152,6 +152,7 @@ - - set(LLVM_CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dist CACHE PATH "LLVM source root.") - set(LLVM_NATIVE_BUILD ${CMAKE_CURRENT_BINARY_DIR}/dist/NATIVE CACHE PATH "Binary root dir for LLVM tablegen.") -+set(BUILD_SHARED_LIBS OFF) - - # speed up build is not working properly on all platforms and configurations - if(WINDOWS) diff --git a/ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch b/ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch deleted file mode 100755 index 85dc43f85125e4..00000000000000 --- a/ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -u -r 2024.0.4-cda7c53572.clean/src/mdl/jit/llvm/CMakeLists.txt 2024.0.4-cda7c53572/src/mdl/jit/llvm/CMakeLists.txt ---- 2024.0.4-cda7c53572.clean/src/mdl/jit/llvm/CMakeLists.txt 2024-10-25 14:15:40.000000000 +0200 -+++ 2024.0.4-cda7c53572/src/mdl/jit/llvm/CMakeLists.txt 2024-10-25 14:22:28.000000000 +0200 -@@ -267,7 +267,6 @@ - "-fPIC" - "-m64" - "-stdlib=libc++" -- "$<$:-std=c++11>" - "-fvisibility-inlines-hidden" - "-Wno-deprecated-declarations" - "-Wno-inconsistent-missing-override" diff --git a/ports/mdl-sdk/013-openimageio-3.0.patch b/ports/mdl-sdk/013-openimageio-3.0.patch deleted file mode 100644 index 32e221721d4eac..00000000000000 --- a/ports/mdl-sdk/013-openimageio-3.0.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff -u -r a/cmake/find/find_boost_ext.cmake b/cmake/find/find_boost_ext.cmake ---- a/cmake/find/find_boost_ext.cmake -+++ b/cmake/find/find_boost_ext.cmake -@@ -38,13 +38,7 @@ - set(Boost_NO_WARN_NEW_VERSIONS ON CACHE INTERNAL "") - #set(Boost_DEBUG ON) - -- if(MDL_BUILD_OPENIMAGEIO_PLUGIN OR MDL_BUILD_CORE_EXAMPLES) -- # OpenImageIO needs Boost::filesystem and Boost::thread. -- find_package(Boost COMPONENTS filesystem thread) -- else() -- # Otherwise the Boost headers are sufficient. -- find_package(Boost) -- endif() -+ find_package(Boost) - - set(Boost_FOUND ${Boost_FOUND} CACHE INTERNAL "Dependency boost has been resolved.") - -diff -u -r a/cmake/find/find_openimageio_ext.cmake b/cmake/find/find_openimageio_ext.cmake ---- a/cmake/find/find_openimageio_ext.cmake -+++ b/cmake/find/find_openimageio_ext.cmake -@@ -4,19 +4,17 @@ - - function(FIND_OPENIMAGEIO_EXT) - -- if(${CMAKE_VERSION} VERSION_LESS "3.19.0") -- find_package(OpenImageIO) -- if(OpenImageIO_FOUND) -- if(${OpenImageIO_VERSION} VERSION_LESS "2.4") -- set(OpenImageIO_FOUND OFF) -- message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too old.") -- elseif(${OpenImageIO_VERSION} VERSION_GREATER_EQUAL "3.0") -- set(OpenImageIO_FOUND OFF) -- message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too new.") -- endif() -+ # Explicit code since a version range on find_package() does not support multiple major -+ # versions. -+ find_package(OpenImageIO) -+ if(OpenImageIO_FOUND) -+ if(${OpenImageIO_VERSION} VERSION_LESS "2.4") -+ set(OpenImageIO_FOUND OFF) -+ message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too old.") -+ elseif(${OpenImageIO_VERSION} VERSION_GREATER_EQUAL "4.0") -+ set(OpenImageIO_FOUND OFF) -+ message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too new.") - endif() -- else() -- find_package(OpenImageIO 2.4...<3.0) - endif() - - # See https://github.com/microsoft/vcpkg/issues/29284 -diff -u -r a/src/shaders/plugin/openimageio/openimageio_utilities.cpp b/src/shaders/plugin/openimageio/openimageio_utilities.cpp ---- a/src/shaders/plugin/openimageio/openimageio_utilities.cpp -+++ b/src/shaders/plugin/openimageio/openimageio_utilities.cpp -@@ -421,14 +421,22 @@ - - const char* proxytype () const override { return "nv_reader"; } - void close() override { m_reader.reset(); } -+#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) -+ int64_t tell() const override { return m_reader->tell_absolute(); } -+#else - int64_t tell() override { return m_reader->tell_absolute(); } -+#endif - bool seek( int64_t offset) override { return m_reader->seek_absolute( offset); } - size_t read( void* buf, size_t size) override; - size_t write( const void* buf, size_t size) override; - size_t pread( void* buf, size_t size, int64_t offset) override; - size_t pwrite( const void* buf, size_t size, int64_t offset) override; - size_t size() const override { return m_reader->get_file_size(); } -+#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) -+ void flush() override { } -+#else - void flush() const override { } -+#endif - - private: - /// The wrapped reader. -@@ -502,14 +510,22 @@ - - const char* proxytype () const override { return "nv_writer"; } - void close() override { m_writer.reset(); } -+#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) -+ int64_t tell() const override { return m_writer->tell_absolute(); } -+#else - int64_t tell() override { return m_writer->tell_absolute(); } -+#endif - bool seek( int64_t offset) override { return m_writer->seek_absolute( offset); } - size_t read( void* buf, size_t size) override; - size_t write( const void* buf, size_t size) override; - size_t pread( void* buf, size_t size, int64_t offset) override; - size_t pwrite( const void* buf, size_t size, int64_t offset) override; - size_t size() const override { return m_writer->get_file_size(); } -+#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) -+ void flush() override { m_writer->flush(); } -+#else - void flush() const override { m_writer->flush(); } -+#endif - - private: - /// The wrapped writer. diff --git a/ports/mdl-sdk/portfile.cmake b/ports/mdl-sdk/portfile.cmake index 43e465e5b23bd3..a59e9e091f1713 100644 --- a/ports/mdl-sdk/portfile.cmake +++ b/ports/mdl-sdk/portfile.cmake @@ -78,12 +78,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO NVIDIA/MDL-SDK REF "${VERSION}" - SHA512 56a8ae1912da50e95ecae2368615da9a5d74191ed8b84e343e5b06adda981969d0c9b2a2228a1f4669918b71e8a942f4757fc712cbe995be6e3aca863ad72a04 - HEAD_REF master - PATCHES - 008-build-static-llvm.patch - 012-remove-wrong-llvm-cxx-standard.patch - 013-openimageio-3.0.patch + SHA512 879566a5d70d181d090ae896e585a977ea5048c3e70c9da7058a8ce1b286132dab4e7ad6ccdb019a4d6e43dcc4195659cfbca504d93dbd0f58407001563b5315 + HEAD_REF release/2024.1 ) vcpkg_find_acquire_program(PYTHON3) diff --git a/ports/mdl-sdk/vcpkg.json b/ports/mdl-sdk/vcpkg.json index c7bb6d3116ad09..1bd48fb718cc25 100644 --- a/ports/mdl-sdk/vcpkg.json +++ b/ports/mdl-sdk/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mdl-sdk", - "version": "2024.0.4", - "port-version": 1, + "version": "2024.1", "description": "NVIDIA Material Definition Language SDK", "homepage": "https://github.com/NVIDIA/MDL-SDK", "license": "BSD-3-Clause", diff --git a/versions/baseline.json b/versions/baseline.json index a73a07f6cfd271..7cb953d85f7851 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5873,8 +5873,8 @@ "port-version": 0 }, "mdl-sdk": { - "baseline": "2024.0.4", - "port-version": 1 + "baseline": "2024.1", + "port-version": 0 }, "mdns": { "baseline": "1.4.3", diff --git a/versions/m-/mdl-sdk.json b/versions/m-/mdl-sdk.json index eb74c6563d8e95..92c41f77ff5e4d 100644 --- a/versions/m-/mdl-sdk.json +++ b/versions/m-/mdl-sdk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8baaf1116f9d57fc31240c1e60e2a5280dcdc286", + "version": "2024.1", + "port-version": 0 + }, { "git-tree": "d1412426eab60c60fc3bbfb4efda57da723cbe9c", "version": "2024.0.4", From 119729ae58ca29f14ea4f95a3be49aea0bb09076 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Jan 2025 09:20:04 +0100 Subject: [PATCH 10/35] [paho-mqtt] update to 1.3.14 (#43530) Signed-off-by: noahknegt --- ports/paho-mqtt/fix-ODR-libuuid-linux.patch | 52 +++++++++------------ ports/paho-mqtt/portfile.cmake | 6 +-- ports/paho-mqtt/vcpkg.json | 3 +- versions/baseline.json | 4 +- versions/p-/paho-mqtt.json | 5 ++ 5 files changed, 32 insertions(+), 38 deletions(-) diff --git a/ports/paho-mqtt/fix-ODR-libuuid-linux.patch b/ports/paho-mqtt/fix-ODR-libuuid-linux.patch index 2542769df479b0..c93af28a03b194 100644 --- a/ports/paho-mqtt/fix-ODR-libuuid-linux.patch +++ b/ports/paho-mqtt/fix-ODR-libuuid-linux.patch @@ -1,38 +1,30 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 4c06409..29f53c0 100644 +index 16382c1..7e14ab3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -95,6 +95,12 @@ ADD_LIBRARY(common_obj_static OBJECT ${common_src}) - SET_TARGET_PROPERTIES(common_obj_static PROPERTIES - POSITION_INDEPENDENT_CODE ON - COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") +@@ -98,6 +98,12 @@ endif() + if(PAHO_BUILD_STATIC) + add_library(common_obj_static OBJECT ${common_src}) + set_target_properties(common_obj_static PROPERTIES POSITION_INDEPENDENT_CODE ON) ++ IF(WIN32 OR APPLE) ++ ELSE() ++ find_package(unofficial-libuuid CONFIG REQUIRED) ++ target_link_libraries(common_obj_static PRIVATE unofficial::UUID::uuid) ++ target_compile_definitions(common_obj_static PUBLIC LIBUUID) ++ ENDIF() + target_compile_definitions(common_obj_static PRIVATE PAHO_MQTT_STATIC=1) + endif() + +@@ -317,6 +323,12 @@ if(PAHO_WITH_SSL OR PAHO_WITH_LIBRESSL) + target_include_directories(common_ssl_obj_static PUBLIC ${SSL_INCLUDE_DIR}) + + set_property(TARGET common_ssl_obj_static PROPERTY POSITION_INDEPENDENT_CODE ON) + IF(WIN32 OR APPLE) + ELSE() + find_package(unofficial-libuuid CONFIG REQUIRED) -+ target_link_libraries(common_obj_static PRIVATE unofficial::UUID::uuid) -+ target_compile_definitions(common_obj_static PUBLIC LIBUUID) ++ target_link_libraries(common_ssl_obj_static PRIVATE unofficial::UUID::uuid) ++ target_compile_definitions(common_ssl_obj_static PUBLIC LIBUUID) + ENDIF() - ENDIF() - - IF (PAHO_BUILD_SHARED) -@@ -149,7 +155,6 @@ ENDIF() - IF (PAHO_BUILD_STATIC) - ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c) - ADD_LIBRARY(paho-mqtt3a-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c) -- - TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM}) - TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM}) - IF (NOT WIN32) -@@ -249,6 +254,12 @@ IF (PAHO_WITH_SSL) - TARGET_INCLUDE_DIRECTORIES(common_ssl_obj_static PUBLIC ${OPENSSL_INCLUDE_DIR}) - SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY POSITION_INDEPENDENT_CODE ON) - SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") -+ IF(WIN32 OR APPLE) -+ ELSE() -+ find_package(unofficial-libuuid CONFIG REQUIRED) -+ target_link_libraries(common_ssl_obj_static PRIVATE unofficial::UUID::uuid) -+ target_compile_definitions(common_ssl_obj_static PUBLIC LIBUUID) -+ ENDIF() + target_compile_definitions(common_ssl_obj_static PRIVATE OPENSSL=1 PAHO_MQTT_STATIC=1) - ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) - ADD_LIBRARY(paho-mqtt3as-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c) + add_library(paho-mqtt3cs-static STATIC diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake index 57dec0b28fc3ae..3d9a1e63e4dc37 100644 --- a/ports/paho-mqtt/portfile.cmake +++ b/ports/paho-mqtt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/paho.mqtt.c REF "v${VERSION}" - SHA512 0f436470bcff224461ed3227c8db10914f84bc2dcf76e51b55d4a78b80abaa4e636ac8f7a20e517524625888335c738e975283e5d573ae8d59147aa4de7963fc + SHA512 5576ac3531a5c707f92a02cbfb9d60710b42acd99f57bcde311aa224780267a5152e8b92a6b077afab4780ee236d5e0c2a0b8986453439bce4323758b3d4385b HEAD_REF master PATCHES fix-unresolvedsymbol-arm.patch @@ -12,8 +12,6 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PAHO_BUILD_DYNAMIC) -vcpkg_replace_string("${SOURCE_PATH}/src/CMakeLists.txt" [[SET(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes")]] "") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -38,7 +36,7 @@ if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) [[# Generated by CMake include(CMakeFindDependencyMacro) find_dependency(OpenSSL)]] - ) + ) else() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/eclipse-paho-mqtt-c/eclipse-paho-mqtt-cConfig.cmake" [[# Generated by CMake]] diff --git a/ports/paho-mqtt/vcpkg.json b/ports/paho-mqtt/vcpkg.json index 724826895db9ed..cfa05be8b807c2 100644 --- a/ports/paho-mqtt/vcpkg.json +++ b/ports/paho-mqtt/vcpkg.json @@ -1,7 +1,6 @@ { "name": "paho-mqtt", - "version": "1.3.13", - "port-version": 1, + "version": "1.3.14", "description": "Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things", "homepage": "https://github.com/eclipse/paho.mqtt.c", "license": "EPL-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index 7cb953d85f7851..3cbae3a21501dd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6877,8 +6877,8 @@ "port-version": 0 }, "paho-mqtt": { - "baseline": "1.3.13", - "port-version": 1 + "baseline": "1.3.14", + "port-version": 0 }, "paho-mqttpp3": { "baseline": "1.4.1", diff --git a/versions/p-/paho-mqtt.json b/versions/p-/paho-mqtt.json index c708abf973bdf6..e28a12601bdc2b 100644 --- a/versions/p-/paho-mqtt.json +++ b/versions/p-/paho-mqtt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "20d2bb397c0b3b632f3bcf6a97175af755148d1e", + "version": "1.3.14", + "port-version": 0 + }, { "git-tree": "7ea6a82c6e59b0300a88ba3ce22c81cc0346af9f", "version": "1.3.13", From 26ac4ccda2a827714c39a4ac31f1d004a809363b Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Jan 2025 09:20:28 +0100 Subject: [PATCH 11/35] [paho-mqttpp3] Update version to 1.5.0 (#43532) Signed-off-by: noahknegt --- ports/paho-mqttpp3/portfile.cmake | 2 +- ports/paho-mqttpp3/vcpkg.json | 3 +-- versions/baseline.json | 4 ++-- versions/p-/paho-mqttpp3.json | 5 +++++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ports/paho-mqttpp3/portfile.cmake b/ports/paho-mqttpp3/portfile.cmake index 7b88533ecafb63..b0a9ccd4ed8dde 100644 --- a/ports/paho-mqttpp3/portfile.cmake +++ b/ports/paho-mqttpp3/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/paho.mqtt.cpp REF "v${VERSION}" - SHA512 bc965ce85e723fad06865bb8b7c6d0d2f48b08fee8074d7c5099d1648cd0579e0e52cea2f1c0ac2fe751970ac22c7f29df0c3eae8ee6357a13c901aaeff35c62 + SHA512 d172aefe49b60a6d05e9fd86e0b381d2f16c70044b759eda50d166a27c97f45724adcce9bc73b2693ab0d561df309ad07b19ed0d4510f264aac0389a329e0f0c HEAD_REF master ) diff --git a/ports/paho-mqttpp3/vcpkg.json b/ports/paho-mqttpp3/vcpkg.json index f5a45a52644728..4c3ddfe97b9571 100644 --- a/ports/paho-mqttpp3/vcpkg.json +++ b/ports/paho-mqttpp3/vcpkg.json @@ -1,7 +1,6 @@ { "name": "paho-mqttpp3", - "version": "1.4.1", - "port-version": 1, + "version": "1.5.0", "description": "Paho project provides open-source C++ wrapper for Paho C library", "homepage": "https://github.com/eclipse/paho.mqtt.cpp", "license": "EPL-1.0", diff --git a/versions/baseline.json b/versions/baseline.json index 3cbae3a21501dd..5b8b18d1846948 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6881,8 +6881,8 @@ "port-version": 0 }, "paho-mqttpp3": { - "baseline": "1.4.1", - "port-version": 1 + "baseline": "1.5.0", + "port-version": 0 }, "palsigslot": { "baseline": "1.2.2", diff --git a/versions/p-/paho-mqttpp3.json b/versions/p-/paho-mqttpp3.json index 775a42f9f19e28..4eddf1c28ed1cd 100644 --- a/versions/p-/paho-mqttpp3.json +++ b/versions/p-/paho-mqttpp3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d6bde9465456d94b488dc61bd21062d044c45d71", + "version": "1.5.0", + "port-version": 0 + }, { "git-tree": "c617983064fd61825e4fee55377bfc30d2442649", "version": "1.4.1", From a11353c6c816809f7bcfb5b3cacc8be9c4bb6b62 Mon Sep 17 00:00:00 2001 From: rremilian <92378685+rremilian@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:23:54 +0200 Subject: [PATCH 12/35] [libtorrent] update to 2.0.11 (#43528) --- ports/libtorrent/portfile.cmake | 4 ++-- ports/libtorrent/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/l-/libtorrent.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index ab56c66197c900..27c8272a52fe79 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -31,7 +31,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arvidn/libtorrent REF "v${VERSION}" - SHA512 fb55b04b57a6a1f39b81a4aff2ca899f9ac30b435c278c80181bdd3fef4775a3f91b2345c49b493503ae79ef89841e9a965af9974abe9022be3050922a4057f0 + SHA512 375fb12754ce73b34b215c1ca077b0ec58a8c91f6a6e4a48e2ae55251be38f647405d135ebeae38f8b0dfb478bcea8d5f0d6509e97f1baddbc2cd2e788948f2a HEAD_REF RC_2_0 ) @@ -87,4 +87,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -vcpkg_fixup_pkgconfig() \ No newline at end of file +vcpkg_fixup_pkgconfig() diff --git a/ports/libtorrent/vcpkg.json b/ports/libtorrent/vcpkg.json index 6f25e18468d429..002c68945379cb 100644 --- a/ports/libtorrent/vcpkg.json +++ b/ports/libtorrent/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libtorrent", - "version": "2.0.10", + "version": "2.0.11", "maintainers": "Arvid Norberg ", "description": "An efficient feature complete C++ BitTorrent implementation", "homepage": "https://libtorrent.org", diff --git a/versions/baseline.json b/versions/baseline.json index 5b8b18d1846948..689849b81bc741 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5233,7 +5233,7 @@ "port-version": 10 }, "libtorrent": { - "baseline": "2.0.10", + "baseline": "2.0.11", "port-version": 0 }, "libtracepoint": { diff --git a/versions/l-/libtorrent.json b/versions/l-/libtorrent.json index 2427821cd91afc..fab2f38cb336c1 100644 --- a/versions/l-/libtorrent.json +++ b/versions/l-/libtorrent.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f442bff5e6f8cc0a4a7b1226db0b7d8069b68b4c", + "version": "2.0.11", + "port-version": 0 + }, { "git-tree": "53949de9ace82d74179d388d9cd26f164a823657", "version": "2.0.10", From ddbfd0c7b2febc276a673c96f66493f3adb81b12 Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Thu, 30 Jan 2025 09:42:33 +0100 Subject: [PATCH 13/35] [sdl3-image] Update to 3.1.1, revise features, add test port (#43504) --- ports/sdl3-image/cmake-sdl3.patch | 13 ------ ports/sdl3-image/dependencies.diff | 46 +++++++++++++++++++ ports/sdl3-image/pkgconfig-libname.diff | 25 ++++++++++ ports/sdl3-image/portfile.cmake | 32 ++++++------- ports/sdl3-image/usage | 2 +- ports/sdl3-image/vcpkg.json | 17 ++++--- .../vcpkg-ci-sdl3-image/portfile.cmake | 10 ++++ .../project/CMakeLists.txt | 25 ++++++++++ .../vcpkg-ci-sdl3-image/project/main.c | 7 +++ .../test_ports/vcpkg-ci-sdl3-image/vcpkg.json | 36 +++++++++++++++ versions/baseline.json | 2 +- versions/s-/sdl3-image.json | 5 ++ 12 files changed, 182 insertions(+), 38 deletions(-) delete mode 100644 ports/sdl3-image/cmake-sdl3.patch create mode 100644 ports/sdl3-image/dependencies.diff create mode 100644 ports/sdl3-image/pkgconfig-libname.diff create mode 100644 scripts/test_ports/vcpkg-ci-sdl3-image/portfile.cmake create mode 100644 scripts/test_ports/vcpkg-ci-sdl3-image/project/CMakeLists.txt create mode 100644 scripts/test_ports/vcpkg-ci-sdl3-image/project/main.c create mode 100644 scripts/test_ports/vcpkg-ci-sdl3-image/vcpkg.json diff --git a/ports/sdl3-image/cmake-sdl3.patch b/ports/sdl3-image/cmake-sdl3.patch deleted file mode 100644 index ab51c3a52f9b84..00000000000000 --- a/ports/sdl3-image/cmake-sdl3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/SDL3_imageConfig.cmake.in b/cmake/SDL3_imageConfig.cmake.in -index db72fd70..d942a698 100644 ---- a/cmake/SDL3_imageConfig.cmake.in -+++ b/cmake/SDL3_imageConfig.cmake.in -@@ -43,6 +43,8 @@ set(SDLIMAGE_BACKEND_WIC @SDLIMAGE_BACKEND_WIC@) - - set(SDLIMAGE_SDL3_REQUIRED_VERSION @SDL_REQUIRED_VERSION@) - -+find_package(SDL3 CONFIG REQUIRED) -+ - set(SDL3_image_SDL3_image-shared_FOUND FALSE) - if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_image-shared-targets.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/SDL3_image-shared-targets.cmake") diff --git a/ports/sdl3-image/dependencies.diff b/ports/sdl3-image/dependencies.diff new file mode 100644 index 00000000000000..15c6c402aebf42 --- /dev/null +++ b/ports/sdl3-image/dependencies.diff @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0a0cc03..27a009d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -293,6 +293,8 @@ target_compile_definitions(${sdl3_image_target_name} PRIVATE + target_link_libraries(${sdl3_image_target_name} PUBLIC SDL3::Headers) + if(SDLIMAGE_BUILD_SHARED_LIBS) + target_link_libraries(${sdl3_image_target_name} PRIVATE SDL3::SDL3-shared) ++else() ++ target_link_libraries(${sdl3_image_target_name} PRIVATE SDL3::SDL3) + endif() + sdl_add_warning_options(${sdl3_image_target_name} WARNING_AS_ERROR ${SDLIMAGE_WERROR}) + if(WIN32 AND SDLIMAGE_BUILD_SHARED_LIBS) +@@ -971,7 +973,7 @@ if(SDLIMAGE_WEBP) + message(STATUS "${PROJECT_NAME}: Using libwebp from CMake variable") + set(SDLIMAGE_WEBP_ENABLED TRUE) + else() +- find_package(webp ${required}) ++ find_package(webp NAMES WebP ${required}) + if(webp_FOUND) + message(STATUS "${PROJECT_NAME}: Using system libwebp") + set(SDLIMAGE_WEBP_ENABLED TRUE) +diff --git a/cmake/SDL3_imageConfig.cmake.in b/cmake/SDL3_imageConfig.cmake.in +index db72fd7..d8f91ff 100644 +--- a/cmake/SDL3_imageConfig.cmake.in ++++ b/cmake/SDL3_imageConfig.cmake.in +@@ -6,6 +6,9 @@ set_package_properties(SDL3_image PROPERTIES + DESCRIPTION "SDL_image is an image file loading library" + ) + ++include(CMakeFindDependencyMacro) ++find_dependency(SDL3 CONFIG) ++ + set(SDL3_image_FOUND ON) + + set(SDLIMAGE_AVIF @SDLIMAGE_AVIF_ENABLED@) +@@ -110,8 +113,7 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_image-static-targets.cmake") + endif() + + if(SDLIMAGE_WEBP AND NOT TARGET WebP::webp AND NOT SDLIMAGE_WEBP_SHARED) +- list(APPEND webp_ROOT "${CMAKE_CURRENT_LIST_DIR}") +- find_dependency(webp) ++ find_dependency(WebP) + endif() + + set(CMAKE_MODULE_PATH "${_sdl_cmake_module_path}") diff --git a/ports/sdl3-image/pkgconfig-libname.diff b/ports/sdl3-image/pkgconfig-libname.diff new file mode 100644 index 00000000000000..e135561e97d023 --- /dev/null +++ b/ports/sdl3-image/pkgconfig-libname.diff @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 27a009d..0306afb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1122,6 +1122,7 @@ if(SDLIMAGE_INSTALL) + set(SDL_PKGCONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}") + endif() + ++ get_target_property(PC_LIB_NAME "${sdl3_image_target_name}" OUTPUT_NAME) + string(JOIN " " PC_REQUIRES ${PC_REQUIRES}) + string(JOIN " " PC_LIBS ${PC_LIBS}) + configure_file(cmake/sdl3-image.pc.in sdl3-image.pc @ONLY) +diff --git a/cmake/sdl3-image.pc.in b/cmake/sdl3-image.pc.in +index dae41df..e4ce850 100644 +--- a/cmake/sdl3-image.pc.in ++++ b/cmake/sdl3-image.pc.in +@@ -7,7 +7,7 @@ Name: @PROJECT_NAME@ + Description: image loading library for Simple DirectMedia Layer + Version: @PROJECT_VERSION@ + Requires: sdl3 >= @SDL_REQUIRED_VERSION@ +-Libs: -L${libdir} -lSDL3_image ++Libs: -L${libdir} -l@PC_LIB_NAME@ + Requires.private: @PC_REQUIRES@ + Libs.private: @PC_LIBS@ + Cflags: -I${includedir} diff --git a/ports/sdl3-image/portfile.cmake b/ports/sdl3-image/portfile.cmake index 73f2f73b34c7fc..f1968e402ebf39 100644 --- a/ports/sdl3-image/portfile.cmake +++ b/ports/sdl3-image/portfile.cmake @@ -1,19 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsdl-org/SDL_image - REF "preview-${VERSION}" - SHA512 e139fd9474213757f473ca96cb7df78e6b122ac1a0f8b88e66d28955b8ee0390f83ee14dfe4f188aa4ba14b812c5522ce366e61a00609a3079930d68d8233921 + REF "prerelease-${VERSION}" + SHA512 d11764142798e9c3cbb2fcfb123a5d6e5192d45011118f5a76f63b9ba100119799aacf9cd64835a9c504d3040116202f44aba9df1fc851afc1fdfb3b498c56a2 HEAD_REF main PATCHES - cmake-sdl3.patch + dependencies.diff + pkgconfig-libname.diff ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - libjpeg-turbo SDLIMAGE_JPG - libwebp SDLIMAGE_WEBP - tiff SDLIMAGE_TIF + jpeg SDLIMAGE_JPG + png SDLIMAGE_PNG + tiff SDLIMAGE_TIF + webp SDLIMAGE_WEBP + INVERTED_FEATURES + # Disabled capabilities: Needing dependencies. + core SDLIMAGE_AVIF + core SDLIMAGE_JXL ) vcpkg_cmake_configure( @@ -23,32 +29,24 @@ vcpkg_cmake_configure( -DSDLIMAGE_BACKEND_IMAGEIO=OFF -DSDLIMAGE_BACKEND_STB=OFF -DSDLIMAGE_DEPS_SHARED=OFF + -DSDLIMAGE_RELOCATABLE=ON -DSDLIMAGE_SAMPLES=OFF + -DSDLIMAGE_STRICT=ON -DSDLIMAGE_VENDORED=OFF ) - vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH cmake) -elseif(EXISTS "${CURRENT_PACKAGES_DIR}/SDL3_image.framework/Resources") - vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH SDL3_image.framework/Resources) else() vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH lib/cmake/SDL3_image) endif() -vcpkg_fixup_pkgconfig() - -if(NOT VCPKG_TARGET_IS_LINUX AND NOT VCPKG_TARGET_IS_ANDROID AND NOT VCPKG_BUILD_TYPE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/SDL3-image.pc" "-lSDL3_image" "-lSDL3_imaged") -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/SDL3_image.framework" - "${CURRENT_PACKAGES_DIR}/debug/SDL3_image.framework" ) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/sdl3-image/usage b/ports/sdl3-image/usage index 4f44962718d6dd..6a2150b02466d1 100644 --- a/ports/sdl3-image/usage +++ b/ports/sdl3-image/usage @@ -1,7 +1,7 @@ sdl3-image provides CMake targets: find_package(SDL3_image CONFIG REQUIRED) - target_link_libraries(main PRIVATE $,SDL3_image::SDL3_image-shared,SDL3_image-static>) + target_link_libraries(main PRIVATE $,SDL3_image::SDL3_image-shared,SDL3_image::SDL3_image-static>) sdl3-image provides pkg-config modules: diff --git a/ports/sdl3-image/vcpkg.json b/ports/sdl3-image/vcpkg.json index e686176581f848..0eeb682cbeacb4 100644 --- a/ports/sdl3-image/vcpkg.json +++ b/ports/sdl3-image/vcpkg.json @@ -1,11 +1,10 @@ { "name": "sdl3-image", - "version": "3.1.0", + "version": "3.1.1", "description": "SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV", "homepage": "https://github.com/libsdl-org/SDL_image", "license": "Zlib", "dependencies": [ - "libpng", { "name": "sdl3", "default-features": false @@ -20,16 +19,16 @@ } ], "features": { - "libjpeg-turbo": { + "jpeg": { "description": "Support for JPEG image format", "dependencies": [ "libjpeg-turbo" ] }, - "libwebp": { - "description": "Support for WEBP image format.", + "png": { + "description": "Support for PNG image format", "dependencies": [ - "libwebp" + "libpng" ] }, "tiff": { @@ -40,6 +39,12 @@ "default-features": false } ] + }, + "webp": { + "description": "Support for WEBP image format.", + "dependencies": [ + "libwebp" + ] } } } diff --git a/scripts/test_ports/vcpkg-ci-sdl3-image/portfile.cmake b/scripts/test_ports/vcpkg-ci-sdl3-image/portfile.cmake new file mode 100644 index 00000000000000..dd2570612035c8 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sdl3-image/portfile.cmake @@ -0,0 +1,10 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-sdl3-image/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-sdl3-image/project/CMakeLists.txt new file mode 100644 index 00000000000000..8032deee984783 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sdl3-image/project/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.30) +project(sdl3-image-test C CXX) # C++ for tiff[lerc] + +block(SCOPE_FOR VARIABLES) + find_package(SDL3_image CONFIG REQUIRED) + + add_executable(main main.c) + target_link_libraries(main PRIVATE + $,SDL3_image::SDL3_image-shared,SDL3_image::SDL3_image-static> + ) +endblock() + +block(SCOPE_FOR VARIABLES) + find_package(PkgConfig REQUIRED) + pkg_check_modules(PC_SDL3_IMAGE sdl3-image REQUIRED IMPORTED_TARGET) + + add_executable(main-pkconfig main.c) + if(WIN32 AND NOT MINGW) + target_link_libraries(main-pkconfig PRIVATE PkgConfig::PC_SDL3_IMAGE) + else() + # Use raw flags, avoid find_library + target_compile_options(main-pkconfig PRIVATE ${PC_SDL3_IMAGE_CFLAGS}) + target_link_libraries(main-pkconfig PRIVATE ${PC_SDL3_IMAGE_LDFLAGS}) + endif() +endblock() diff --git a/scripts/test_ports/vcpkg-ci-sdl3-image/project/main.c b/scripts/test_ports/vcpkg-ci-sdl3-image/project/main.c new file mode 100644 index 00000000000000..ed8a3bc17f259e --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sdl3-image/project/main.c @@ -0,0 +1,7 @@ +#include + +int main() +{ + IMG_Version(); + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-sdl3-image/vcpkg.json b/scripts/test_ports/vcpkg-ci-sdl3-image/vcpkg.json new file mode 100644 index 00000000000000..369e623eba9aaa --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sdl3-image/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "vcpkg-ci-sdl3-image", + "version-string": "ci", + "description": "Port to force features of sdl3-image within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "sdl3-image", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + } + ], + "default-features": [ + "all" + ], + "features": { + "all": { + "description": "Test all features", + "dependencies": [ + { + "name": "sdl3-image", + "features": [ + "jpeg", + "png", + "tiff", + "webp" + ] + } + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 689849b81bc741..468e7a201a9b8a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -8285,7 +8285,7 @@ "port-version": 0 }, "sdl3-image": { - "baseline": "3.1.0", + "baseline": "3.1.1", "port-version": 0 }, "seacas": { diff --git a/versions/s-/sdl3-image.json b/versions/s-/sdl3-image.json index 8d9355feb960fc..a87c3a9aada514 100644 --- a/versions/s-/sdl3-image.json +++ b/versions/s-/sdl3-image.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cf10d2f8df73d5a1e81dfbc824786fdfb32549be", + "version": "3.1.1", + "port-version": 0 + }, { "git-tree": "e5c443cbdf6896a4989f1a0a6034be21c3fc43c0", "version": "3.1.0", From 09dea3c01d6b96c972e66de1b169cd23070c1198 Mon Sep 17 00:00:00 2001 From: "Ethan J. Musser" Date: Thu, 30 Jan 2025 03:45:43 -0500 Subject: [PATCH 14/35] [libmultisense] Add LibMultiSense port (#43523) --- ports/libmultisense/portfile.cmake | 66 ++++++++++++++++++++++++++++++ ports/libmultisense/usage | 4 ++ ports/libmultisense/vcpkg.json | 22 ++++++++++ versions/baseline.json | 4 ++ versions/l-/libmultisense.json | 9 ++++ 5 files changed, 105 insertions(+) create mode 100644 ports/libmultisense/portfile.cmake create mode 100644 ports/libmultisense/usage create mode 100644 ports/libmultisense/vcpkg.json create mode 100644 versions/l-/libmultisense.json diff --git a/ports/libmultisense/portfile.cmake b/ports/libmultisense/portfile.cmake new file mode 100644 index 00000000000000..f9d23d9817913a --- /dev/null +++ b/ports/libmultisense/portfile.cmake @@ -0,0 +1,66 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO carnegierobotics/LibMultiSense + REF ${VERSION} + SHA512 354c9eec33e9153496b0858b8dc6e5735218585abecf885f356f643d833ebf00a63fc4571634283c430de07045f2be544b0e6d445599fce4c1655af671b758bd + HEAD_REF master +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + utilities MULTISENSE_BUILD_UTILITIES +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +set(PACKAGE_NAME MultiSense) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME "${PACKAGE_NAME}" + CONFIG_PATH "lib/cmake/${PACKAGE_NAME}" +) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if ("utilities" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES + AprilTagTestUtility + ChangeFps + ChangeIpUtility + ChangeResolution + ChangeTransmitDelay + ColorImageUtility + DeviceInfoUtility + ExternalCalUtility + FlashUtility + ImageCalUtility + ImuConfigUtility + ImuTestUtility + LidarCalUtility + PointCloudUtility + RectifiedFocalLengthUtility + SaveImageUtility + VersionInfoUtility + AUTO_CLEAN + ) +endif () + +file( + INSTALL "${SOURCE_PATH}/LICENSE.TXT" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) +file( + INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) diff --git a/ports/libmultisense/usage b/ports/libmultisense/usage new file mode 100644 index 00000000000000..b32f054288963e --- /dev/null +++ b/ports/libmultisense/usage @@ -0,0 +1,4 @@ +libmultisense provides CMake targets: + + find_package(MultiSense) + target_link_libraries(main PRIVATE MultiSense) diff --git a/ports/libmultisense/vcpkg.json b/ports/libmultisense/vcpkg.json new file mode 100644 index 00000000000000..e6dfd314f8210c --- /dev/null +++ b/ports/libmultisense/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "libmultisense", + "version": "6.1.0", + "description": "A C++ library for interfacing with the MultiSense S family of sensors from Carnegie Robotics.", + "homepage": "https://github.com/carnegierobotics/LibMultiSense", + "supports": "linux | (windows & !static)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "utilities": { + "description": "Build MultiSense utility applications." + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 468e7a201a9b8a..1f07ea9799e2dc 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4844,6 +4844,10 @@ "baseline": "2.7.1", "port-version": 0 }, + "libmultisense": { + "baseline": "6.1.0", + "port-version": 0 + }, "libmupdf": { "baseline": "1.25.2", "port-version": 0 diff --git a/versions/l-/libmultisense.json b/versions/l-/libmultisense.json new file mode 100644 index 00000000000000..21b510782a7a21 --- /dev/null +++ b/versions/l-/libmultisense.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "720294982a8079963638f6ccb9a5292541f63e82", + "version": "6.1.0", + "port-version": 0 + } + ] +} From 0b4805abfa6ad4c5a4f7fe7d067fdab8449fb915 Mon Sep 17 00:00:00 2001 From: rremilian <92378685+rremilian@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:49:06 +0200 Subject: [PATCH 15/35] [qt5-webengine] fix spellcheck buildflags issue (#43524) --- ports/qt5-webengine/fix-spellcheck-buildflags.patch | 12 ++++++++++++ ports/qt5-webengine/portfile.cmake | 1 + ports/qt5-webengine/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/q-/qt5-webengine.json | 5 +++++ 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 ports/qt5-webengine/fix-spellcheck-buildflags.patch diff --git a/ports/qt5-webengine/fix-spellcheck-buildflags.patch b/ports/qt5-webengine/fix-spellcheck-buildflags.patch new file mode 100644 index 00000000000000..1d0a1871208143 --- /dev/null +++ b/ports/qt5-webengine/fix-spellcheck-buildflags.patch @@ -0,0 +1,12 @@ +diff --git a/src/3rdparty/chromium/content/browser/BUILD.gn b/src/3rdparty/chromium/content/browser/BUILD.gn +index 1466f33d4..3fc848a56 100644 +--- a/src/3rdparty/chromium/content/browser/BUILD.gn ++++ b/src/3rdparty/chromium/content/browser/BUILD.gn +@@ -40,6 +40,7 @@ jumbo_static_library("devtools_protocol") { + "//content/browser/devtools:protocol_sources", + "//content/common:buildflags", + "//third_party/inspector_protocol:crdtp", ++ "//components/spellcheck:buildflags", + ] + + sources = [ diff --git a/ports/qt5-webengine/portfile.cmake b/ports/qt5-webengine/portfile.cmake index 1ea5c73aa48205..a38bb23680eec6 100644 --- a/ports/qt5-webengine/portfile.cmake +++ b/ports/qt5-webengine/portfile.cmake @@ -64,6 +64,7 @@ set(PATCHES common.pri.patch 0001-Support-ICU-74-in-LazyTextBreakIterator.patch workaround-protobuf-issue.patch 0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch + fix-spellcheck-buildflags.patch ) set(OPTIONS) diff --git a/ports/qt5-webengine/vcpkg.json b/ports/qt5-webengine/vcpkg.json index c8a588406fdc90..0b4ccc7bebeca6 100644 --- a/ports/qt5-webengine/vcpkg.json +++ b/ports/qt5-webengine/vcpkg.json @@ -1,7 +1,7 @@ { "name": "qt5-webengine", "version": "5.15.16", - "port-version": 1, + "port-version": 2, "description": "Qt WebEngine provides functionality for rendering regions of dynamic web content.", "license": null, "supports": "!static", diff --git a/versions/baseline.json b/versions/baseline.json index 1f07ea9799e2dc..b579be09bff22a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7542,7 +7542,7 @@ }, "qt5-webengine": { "baseline": "5.15.16", - "port-version": 1 + "port-version": 2 }, "qt5-webglplugin": { "baseline": "5.15.16", diff --git a/versions/q-/qt5-webengine.json b/versions/q-/qt5-webengine.json index 9941a062e5a1a9..422720b6db7507 100644 --- a/versions/q-/qt5-webengine.json +++ b/versions/q-/qt5-webengine.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7785e40d08d000118d180514d7e5f5f30a75ada8", + "version": "5.15.16", + "port-version": 2 + }, { "git-tree": "92f56035f25cfc039d74c70b6905c1b78e480e2e", "version": "5.15.16", From f24aa3d373038b1d67f790b3eebc49325918f573 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Thu, 30 Jan 2025 11:08:22 -0800 Subject: [PATCH 16/35] Downgrade win_flex_bison to 2.5.24. (#43539) --- scripts/cmake/vcpkg_find_acquire_program(BISON).cmake | 7 +++++-- scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake b/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake index f5539767a6f051..ff2ea49192f160 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake @@ -1,9 +1,12 @@ if(CMAKE_HOST_WIN32) # This download shall be the same as in vcpkg_find_acquire_program(FLEX).cmake - set(program_version 2.5.25) + # Note that this is 2.5.24 rather than 2.5.25 due to a race in %TEMP% in 2.5.25 + # For more information, see: https://github.com/microsoft/vcpkg/issues/29139 + # or: https://github.com/lexxmark/winflexbison/issues/86 + set(program_version 2.5.24) set(download_urls "https://github.com/lexxmark/winflexbison/releases/download/v${program_version}/win_flex_bison-${program_version}.zip") set(download_filename "win_flex_bison-${program_version}.zip") - set(download_sha512 2a829eb05003178c89f891dd0a67add360c112e74821ff28e38feb61dac5b66e9d3d5636ff9eef055616aaf282ee8d6be9f14c6ae4577f60bdcec96cec9f364e) + set(download_sha512 dc89fcdaa7071fbbf88b0755b799d69223240c28736924b4c30968c08e7e0b116c7e05ae98a9257be26a1dfb4aa70a628808a6b6018706bf857555c5b4335018) set(tool_subdirectory "${program_version}") set(program_name win_bison) set(paths_to_search "${DOWNLOADS}/tools/win_flex/${program_version}") diff --git a/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake b/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake index b686c7fd754c14..d3bc9963b34596 100644 --- a/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake +++ b/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake @@ -1,9 +1,12 @@ if(CMAKE_HOST_WIN32) # This download shall be the same as in vcpkg_find_acquire_program(BISON).cmake - set(program_version 2.5.25) + # Note that this is 2.5.24 rather than 2.5.25 due to a race in %TEMP% in 2.5.25 + # For more information, see: https://github.com/microsoft/vcpkg/issues/29139 + # or: https://github.com/lexxmark/winflexbison/issues/86 + set(program_version 2.5.24) set(download_urls "https://github.com/lexxmark/winflexbison/releases/download/v${program_version}/win_flex_bison-${program_version}.zip") set(download_filename "win_flex_bison-${program_version}.zip") - set(download_sha512 2a829eb05003178c89f891dd0a67add360c112e74821ff28e38feb61dac5b66e9d3d5636ff9eef055616aaf282ee8d6be9f14c6ae4577f60bdcec96cec9f364e) + set(download_sha512 dc89fcdaa7071fbbf88b0755b799d69223240c28736924b4c30968c08e7e0b116c7e05ae98a9257be26a1dfb4aa70a628808a6b6018706bf857555c5b4335018) set(tool_subdirectory "${program_version}") set(program_name win_flex) set(paths_to_search "${DOWNLOADS}/tools/win_flex/${program_version}") From 71456656f0dfb46526685691c8806d6703e1e925 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Thu, 30 Jan 2025 13:35:10 -0800 Subject: [PATCH 17/35] [winpixevent] Added new port for DX12 PIX event headers (#42628) --- ports/winpixevent/portfile.cmake | 41 +++++++++++++++++++ ports/winpixevent/usage | 4 ++ ports/winpixevent/vcpkg.json | 9 ++++ ports/winpixevent/winpixevent-config.cmake.in | 11 +++++ versions/baseline.json | 4 ++ versions/w-/winpixevent.json | 9 ++++ 6 files changed, 78 insertions(+) create mode 100644 ports/winpixevent/portfile.cmake create mode 100644 ports/winpixevent/usage create mode 100644 ports/winpixevent/vcpkg.json create mode 100644 ports/winpixevent/winpixevent-config.cmake.in create mode 100644 versions/w-/winpixevent.json diff --git a/ports/winpixevent/portfile.cmake b/ports/winpixevent/portfile.cmake new file mode 100644 index 00000000000000..11abcc202a1868 --- /dev/null +++ b/ports/winpixevent/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.nuget.org/api/v2/package/WinPixEventRuntime/${VERSION}" + FILENAME "winpixevent.${VERSION}.zip" + SHA512 1ae497fe84760d42176ba0f0c6e6e975f7c1ba3be1799fb1416810ea37244f5506098f7454a9831855ae76a2becff48aed9c3dca8934048124c88bd86eeb149f +) + +vcpkg_extract_source_archive( + PACKAGE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(PIX_ARCH ARM64) +else() + set(PIX_ARCH x64) +endif() + +file(GLOB HEADER_FILES "${PACKAGE_PATH}/include/WinPixEventRuntime/*.h") +file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +if(VCPKG_TARGET_IS_UWP) + set(WINPIXEVENTRUNTIME WinPixEventRuntime_UAP) +else() + set(WINPIXEVENTRUNTIME WinPixEventRuntime) +endif() + +file(INSTALL "${PACKAGE_PATH}/bin/${PIX_ARCH}/${WINPIXEVENTRUNTIME}.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +file(INSTALL "${PACKAGE_PATH}/bin/${PIX_ARCH}/${WINPIXEVENTRUNTIME}.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + +file(INSTALL "${PACKAGE_PATH}/bin/${PIX_ARCH}/${WINPIXEVENTRUNTIME}.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +file(INSTALL "${PACKAGE_PATH}/bin/${PIX_ARCH}/${WINPIXEVENTRUNTIME}.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/winpixevent-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" + @ONLY) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/license.txt") diff --git a/ports/winpixevent/usage b/ports/winpixevent/usage new file mode 100644 index 00000000000000..e5ac7df123f1d3 --- /dev/null +++ b/ports/winpixevent/usage @@ -0,0 +1,4 @@ +The WinPixEventRuntime redistributable package provides CMake targets: + + find_package(winpixevent CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::WinPixEventRuntime) diff --git a/ports/winpixevent/vcpkg.json b/ports/winpixevent/vcpkg.json new file mode 100644 index 00000000000000..6bda2bf8e70e83 --- /dev/null +++ b/ports/winpixevent/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "winpixevent", + "version": "1.0.240308001", + "description": "Allows applications to be instrumented with marker events, for use with Microsoft PIX.", + "homepage": "https://devblogs.microsoft.com/pix/", + "documentation": "https://devblogs.microsoft.com/pix/documentation/", + "license": "MIT", + "supports": "windows & (x64 | arm64) & !staticcrt & !xbox" +} diff --git a/ports/winpixevent/winpixevent-config.cmake.in b/ports/winpixevent/winpixevent-config.cmake.in new file mode 100644 index 00000000000000..5e34f2d6a04462 --- /dev/null +++ b/ports/winpixevent/winpixevent-config.cmake.in @@ -0,0 +1,11 @@ +get_filename_component(_wpix_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_wpix_root "${_wpix_root}" PATH) + +add_library(Microsoft::WinPixEventRuntime SHARED IMPORTED) +set_target_properties(Microsoft::WinPixEventRuntime PROPERTIES + IMPORTED_LOCATION "${_wpix_root}/bin/@WINPIXEVENTRUNTIME@.dll" + IMPORTED_IMPLIB "${_wpix_root}/lib/@WINPIXEVENTRUNTIME@.lib" + INTERFACE_INCLUDE_DIRECTORIES "${_wpix_root}/include" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + +unset(_wpix_root) diff --git a/versions/baseline.json b/versions/baseline.json index b579be09bff22a..f6d1e8265532a0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9772,6 +9772,10 @@ "baseline": "4.1.3", "port-version": 12 }, + "winpixevent": { + "baseline": "1.0.240308001", + "port-version": 0 + }, "winpty": { "baseline": "0.4.3", "port-version": 0 diff --git a/versions/w-/winpixevent.json b/versions/w-/winpixevent.json new file mode 100644 index 00000000000000..f1076fe342fd6d --- /dev/null +++ b/versions/w-/winpixevent.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b46fd3eca929d7e0b09c0ffaa5d9af2e9477755c", + "version": "1.0.240308001", + "port-version": 0 + } + ] +} From 5755e1ed4fa0a0657d68c6ab6bb96ebcf4957dee Mon Sep 17 00:00:00 2001 From: PARK DongHa Date: Fri, 31 Jan 2025 06:49:34 +0900 Subject: [PATCH 18/35] [onnx,onnx-optimizier] Remove "python3" dependency and "pybind11" feature (#43236) --- ports/onnx-optimizer/fix-cmakelists.patch | 34 ++---------------- ports/onnx-optimizer/portfile.cmake | 17 +-------- ports/onnx-optimizer/vcpkg.json | 16 ++------- ports/onnx/fix-cmakelists.patch | 42 ++--------------------- ports/onnx/portfile.cmake | 32 ++++------------- ports/onnx/vcpkg.json | 16 ++------- versions/baseline.json | 4 +-- versions/o-/onnx-optimizer.json | 5 +++ versions/o-/onnx.json | 5 +++ 9 files changed, 29 insertions(+), 142 deletions(-) diff --git a/ports/onnx-optimizer/fix-cmakelists.patch b/ports/onnx-optimizer/fix-cmakelists.patch index e590b400f8d9a7..d98ed10920cd3b 100644 --- a/ports/onnx-optimizer/fix-cmakelists.patch +++ b/ports/onnx-optimizer/fix-cmakelists.patch @@ -42,36 +42,6 @@ index 0063385..f1522bc 100644 target_include_directories(onnx_optimizer PUBLIC $ $ -@@ -70,7 +77,7 @@ if(BUILD_ONNX_PYTHON) - set(PY_EXT_SUFFIX ".so") - endif() - endif() -- find_package(Python COMPONENTS Interpreter REQUIRED) -+ find_package(Python3 COMPONENTS Development REQUIRED) - - onnxopt_add_library(onnx_opt_cpp2py_export MODULE "onnxoptimizer/cpp2py_export.cc") - set_target_properties(onnx_opt_cpp2py_export PROPERTIES PREFIX "") -@@ -84,7 +91,7 @@ if(BUILD_ONNX_PYTHON) - $ - ${Python_INCLUDE_DIR}) - # pybind11 is a header only lib -- find_package(pybind11 2.2) -+ find_package(pybind11 2.2 CONFIG REQUIRED) - if(pybind11_FOUND) - target_include_directories(onnx_opt_cpp2py_export PUBLIC - ${pybind11_INCLUDE_DIRS}) -@@ -121,9 +128,9 @@ if(BUILD_ONNX_PYTHON) - - target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer) - -+ target_link_directories(onnx_opt_cpp2py_export PRIVATE ${Python3_LIBRARY_DIRS}) -+ target_link_libraries(onnx_opt_cpp2py_export PRIVATE ${Python3_LIBRARIES}) - if(MSVC) -- find_package(Python COMPONENTS Interpreter Development REQUIRED) -- target_link_libraries(onnx_opt_cpp2py_export PRIVATE ${Python_LIBRARIES}) - target_compile_options(onnx_opt_cpp2py_export - PRIVATE /MP - /WX diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 6cca9f3..9d79f1a 100644 --- a/cmake/utils.cmake @@ -91,8 +61,8 @@ index 72dcc88..c5639c8 100644 # as well as ONNX Optimizer targets for other cmake libraries to use. +include(CMakeFindDependencyMacro) -+find_dependency(onnx CONFIG) -+ ++find_dependency(protobuf CONFIG) ++find_dependency(ONNX CONFIG) # library version information set(ONNX_OPTIMIZER_VERSION "@ONNX_OPTIMIZER_VERSION@") diff --git a/ports/onnx-optimizer/portfile.cmake b/ports/onnx-optimizer/portfile.cmake index 10e8d7fe78ea60..ce07fb395ff9af 100644 --- a/ports/onnx-optimizer/portfile.cmake +++ b/ports/onnx-optimizer/portfile.cmake @@ -12,30 +12,15 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RUNTIME) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - pybind11 BUILD_ONNX_PYTHON -) -if("pybind11" IN_LIST FEATURES) - vcpkg_find_acquire_program(PYTHON3) - list(APPEND FEATURE_OPTIONS - -DPython3_EXECUTABLE=${PYTHON3} - -DONNX_USE_PROTOBUF_SHARED_LIBS=ON # /wd4251 - ) -endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DONNX_OPT_USE_SYSTEM_PROTOBUF=ON -DONNX_USE_MSVC_STATIC_RUNTIME=${USE_STATIC_RUNTIME} ) -if("pybind11" IN_LIST FEATURES) - # This target is not in install/export - vcpkg_cmake_build(TARGET onnx_opt_cpp2py_export) -endif() vcpkg_cmake_install() -vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME ONNXOptimizer CONFIG_PATH lib/cmake/ONNXOptimizer) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/onnx-optimizer/vcpkg.json b/ports/onnx-optimizer/vcpkg.json index 9ca4a5e77a2a0f..33eeb618d3ec98 100644 --- a/ports/onnx-optimizer/vcpkg.json +++ b/ports/onnx-optimizer/vcpkg.json @@ -1,6 +1,7 @@ { "name": "onnx-optimizer", "version-semver": "0.3.19", + "port-version": 1, "description": "Actively maintained ONNX Optimizer", "homepage": "https://github.com/onnx/optimizer", "license": "Apache-2.0", @@ -14,18 +15,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "pybind11": { - "description": "Build Python binaries", - "dependencies": [ - { - "name": "onnx", - "features": [ - "pybind11" - ] - } - ] - } - } + ] } diff --git a/ports/onnx/fix-cmakelists.patch b/ports/onnx/fix-cmakelists.patch index f8d300103ab205..2f5e79c95aff5a 100644 --- a/ports/onnx/fix-cmakelists.patch +++ b/ports/onnx/fix-cmakelists.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4dd56b6..2ff3e29 100644 +index b666eec..66c234d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -65,6 +65,27 @@ endif() +@@ -63,6 +63,16 @@ endif() include(GNUInstallDirs) @@ -15,22 +15,11 @@ index 4dd56b6..2ff3e29 100644 + ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx-operators-ml.proto3 + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnx +) -+# install python files -+if(BUILD_ONNX_PYTHON) -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_data_pb.py -+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_data_pb2.py -+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_ml_pb2.py -+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_operators_ml_pb2.py -+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_operators_pb.py -+ ${CMAKE_CURRENT_BINARY_DIR}/onnx/onnx_pb.py -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnx -+ ) -+endif() + set(ONNX_ROOT ${PROJECT_SOURCE_DIR}) # Read ONNX version -@@ -116,7 +137,8 @@ endif() +@@ -104,7 +114,8 @@ endif() # find_package Python has replaced PythonInterp and PythonLibs since cmake 3.12 # Use the following command in the future; now this is only compatible with the latest pybind11 # find_package(Python ${PY_VERSION} COMPONENTS Interpreter Development REQUIRED) @@ -40,28 +29,3 @@ index 4dd56b6..2ff3e29 100644 if(BUILD_ONNX_PYTHON) find_package(PythonLibs ${PY_VERSION}) endif() -@@ -434,6 +456,7 @@ target_link_libraries(onnx PUBLIC onnx_proto) - add_onnx_global_defines(onnx) - - if(BUILD_ONNX_PYTHON) -+ find_package(Python3 ${PY_VERSION} COMPONENTS Development REQUIRED) - if("${PY_EXT_SUFFIX}" STREQUAL "") - if(MSVC) - set(PY_EXT_SUFFIX ".pyd") -@@ -452,10 +475,14 @@ if(BUILD_ONNX_PYTHON) - target_include_directories(onnx_cpp2py_export PRIVATE - $ - $ -- $) -+ ${Python3_INCLUDE_DIRS}) -+ target_link_directories(onnx_cpp2py_export PRIVATE -+ ${Python3_LIBRARY_DIRS}) -+ target_link_libraries(onnx_cpp2py_export PRIVATE -+ ${Python3_LIBRARIES}) - - # pybind11 is a header only lib -- find_package(pybind11 2.2 CONFIG) -+ find_package(pybind11 2.2 CONFIG REQUIRED) - if(NOT pybind11_FOUND) - if(EXISTS "${ONNX_ROOT}/third_party/pybind11/include/pybind11/pybind11.h") - add_subdirectory("${ONNX_ROOT}/third_party/pybind11") diff --git a/ports/onnx/portfile.cmake b/ports/onnx/portfile.cmake index 31332aafa36046..f741ca064c3996 100644 --- a/ports/onnx/portfile.cmake +++ b/ports/onnx/portfile.cmake @@ -13,6 +13,9 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RUNTIME) +# ONNX_CUSTOM_PROTOC_EXECUTABLE +find_program(PROTOC NAMES protoc PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf" REQUIRED NO_DEFAULT_PATH NO_CMAKE_PATH) + # ONNX_USE_PROTOBUF_SHARED_LIBS: find the library and check its file extension find_library(PROTOBUF_LIBPATH NAMES protobuf PATHS "${CURRENT_INSTALLED_DIR}/bin" "${CURRENT_INSTALLED_DIR}/lib" REQUIRED) get_filename_component(PROTOBUF_LIBNAME "${PROTOBUF_LIBPATH}" NAME) @@ -22,32 +25,16 @@ else() set(USE_PROTOBUF_SHARED OFF) endif() -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - pybind11 BUILD_ONNX_PYTHON -) - -# Like protoc, python is required for codegen. vcpkg_find_acquire_program(PYTHON3) -# PATH for .bat scripts so it can find 'python' -get_filename_component(PYTHON_DIR "${PYTHON3}" PATH) -vcpkg_add_to_path(PREPEND "${PYTHON_DIR}") - -if("pybind11" IN_LIST FEATURES) - # When BUILD_ONNX_PYTHON, we need Development component. Give a hint for FindPython3 - list(APPEND FEATURE_OPTIONS - "-DPython3_ROOT_DIR=${CURRENT_INSTALLED_DIR}" - ) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DPython3_EXECUTABLE=${PYTHON3} + "-DPython3_EXECUTABLE:FILEPATH=${PYTHON3}" + "-DONNX_CUSTOM_PROTOC_EXECUTABLE:FILEPATH=${PROTOC}" + "-DProtobuf_PROTOC_EXECUTABLE:FILEPATH=${PROTOC}" -DONNX_ML=ON - -DONNX_GEN_PB_TYPE_STUBS=ON -DONNX_USE_PROTOBUF_SHARED_LIBS=${USE_PROTOBUF_SHARED} -DONNX_USE_LITE_PROTO=OFF -DONNX_USE_MSVC_STATIC_RUNTIME=${USE_STATIC_RUNTIME} @@ -56,13 +43,8 @@ vcpkg_cmake_configure( MAYBE_UNUSED_VARIABLES ONNX_USE_MSVC_STATIC_RUNTIME ) - -if("pybind11" IN_LIST FEATURES) - # This target is not in install/export - vcpkg_cmake_build(TARGET onnx_cpp2py_export) -endif() vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ONNX) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ONNX PACKAGE_NAME ONNX) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/onnx/vcpkg.json b/ports/onnx/vcpkg.json index 47c4952b482540..8c3cd291e80b1c 100644 --- a/ports/onnx/vcpkg.json +++ b/ports/onnx/vcpkg.json @@ -1,20 +1,16 @@ { "name": "onnx", "version-semver": "1.17.0", + "port-version": 1, "description": "Open standard for machine learning interoperability", "homepage": "https://onnx.ai", "license": "Apache-2.0", - "supports": "!uwp", "dependencies": [ "protobuf", { "name": "protobuf", "host": true }, - { - "name": "python3", - "host": true - }, { "name": "vcpkg-cmake", "host": true @@ -23,13 +19,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "pybind11": { - "description": "Build Python binaries", - "dependencies": [ - "pybind11" - ] - } - } + ] } diff --git a/versions/baseline.json b/versions/baseline.json index f6d1e8265532a0..f62e7a57837640 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6610,11 +6610,11 @@ }, "onnx": { "baseline": "1.17.0", - "port-version": 0 + "port-version": 1 }, "onnx-optimizer": { "baseline": "0.3.19", - "port-version": 0 + "port-version": 1 }, "onnxruntime-gpu": { "baseline": "1.19.2", diff --git a/versions/o-/onnx-optimizer.json b/versions/o-/onnx-optimizer.json index 21ff564b1714cc..4612549bc9b754 100644 --- a/versions/o-/onnx-optimizer.json +++ b/versions/o-/onnx-optimizer.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "df755dc18bda1d4c02a54db6cef63e46021ce872", + "version-semver": "0.3.19", + "port-version": 1 + }, { "git-tree": "126bfc519dc0c50fc52ed0b19a0bd88663bae87f", "version-semver": "0.3.19", diff --git a/versions/o-/onnx.json b/versions/o-/onnx.json index b3a1b486919351..48edbd4ddcbec6 100644 --- a/versions/o-/onnx.json +++ b/versions/o-/onnx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1ae91479c59de528eae6e6db5235b8ff0460e222", + "version-semver": "1.17.0", + "port-version": 1 + }, { "git-tree": "9849fadc0639a430cf9c49434b60cbeb08989112", "version-semver": "1.17.0", From b10b3743a4f25e09dcb0be4af6a03a5b71566405 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 06:58:34 +0900 Subject: [PATCH 19/35] [eabase] update to 2024-08-18 (for eastl, eathread) (#43553) --- ports/eabase/fix_cmake_install.patch | 108 ++++++++++++--------------- ports/eabase/portfile.cmake | 58 +++++++------- ports/eabase/vcpkg.json | 3 +- versions/baseline.json | 4 +- versions/e-/eabase.json | 5 ++ 5 files changed, 84 insertions(+), 94 deletions(-) diff --git a/ports/eabase/fix_cmake_install.patch b/ports/eabase/fix_cmake_install.patch index ea83e66b201d87..67c1b61c5fc00e 100644 --- a/ports/eabase/fix_cmake_install.patch +++ b/ports/eabase/fix_cmake_install.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 89c6703..ab8e553 100644 +index 652f07f..264aaf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,9 @@ @@ -12,64 +12,50 @@ index 89c6703..ab8e553 100644 #------------------------------------------------------------------------------------------- # Options #------------------------------------------------------------------------------------------- -@@ -22,13 +25,51 @@ endif() - add_definitions(-D_CHAR16T) - - if (NOT EABASE_BUILD_TESTS) -- #------------------------------------------------------------------------------------------- -- # Header only library -- #------------------------------------------------------------------------------------------- -- add_library(EABase INTERFACE) +@@ -24,14 +27,38 @@ add_definitions(-D_CHAR16T) + #------------------------------------------------------------------------------------------- + # Header only library + #------------------------------------------------------------------------------------------- +-add_library(EABase INTERFACE) - -- #------------------------------------------------------------------------------------------- -- # Include dirs -- #------------------------------------------------------------------------------------------- -- target_include_directories(EABase INTERFACE include/Common) -+ #------------------------------------------------------------------------------------------- -+ # Header only library -+ #------------------------------------------------------------------------------------------- -+ add_library(EABase INTERFACE) -+ add_library(EABase::EABase ALIAS EABase) -+ -+ #------------------------------------------------------------------------------------------- -+ # Include dirs -+ #------------------------------------------------------------------------------------------- -+ target_include_directories(EABase INTERFACE -+ $ -+ $ -+ ) -+ -+ # create and install an export set for eabase target as EABase::EABase -+ set(EABase_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EABase") -+ -+ configure_package_config_file( -+ EABaseConfig.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake -+ INSTALL_DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} -+ ) -+ -+ # create and install an export set for Terra target as Terra -+ install( -+ TARGETS EABase EXPORT EABaseTargets -+ DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ -+ -+ install(EXPORT EABaseTargets DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION}) -+ -+ write_basic_package_version_file( -+ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" -+ VERSION 2.09.12 -+ COMPATIBILITY SameMajorVersion -+ ) -+ -+ install(TARGETS EABase LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") -+ install(DIRECTORY "include/Common/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -+ -+ install( -+ FILES -+ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake" -+ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" -+ DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} -+ ) - endif() ++add_library(EABase INTERFACE) ++add_library(EABase::EABase ALIAS EABase) + #------------------------------------------------------------------------------------------- + # Include dirs + #------------------------------------------------------------------------------------------- +-target_include_directories(EABase INTERFACE include/Common) +- +-#------------------------------------------------------------------------------------------- +-# Installation +-#------------------------------------------------------------------------------------------- +-install(DIRECTORY include/Common/EABase DESTINATION include) ++target_include_directories(EABase INTERFACE ++ $ ++ $ ++) ++# create and install an export set for eabase target as EABase::EABase ++set(EABase_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EABase") ++configure_package_config_file( ++ EABaseConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake ++ INSTALL_DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} ++) ++# create and install an export set for Terra target as Terra ++install( ++ TARGETS EABase EXPORT EABaseTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++install(EXPORT EABaseTargets DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION}) ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" ++ VERSION 2.09.12 ++ COMPATIBILITY SameMajorVersion ++) ++install(TARGETS EABase LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(DIRECTORY "include/Common/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" ++ DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} ++) diff --git a/ports/eabase/portfile.cmake b/ports/eabase/portfile.cmake index 7191eb44a70abc..21c520f538f418 100644 --- a/ports/eabase/portfile.cmake +++ b/ports/eabase/portfile.cmake @@ -1,29 +1,29 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO electronicarts/EABase - REF d1be0a1d0fc01a9bf8f3f2cea75018df0d2410ee - SHA512 84a11bea06aecbf9a659d92b1ac904b99b2b82023650f4f376b5e68a744f631c5dbdd53d25f746ffb01b428415ac86e4fb8ba758db844acf80560fabe4d77733 - HEAD_REF master - PATCHES - fix_cmake_install.patch -) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/EABaseConfig.cmake.in" DESTINATION "${SOURCE_PATH}") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DEABASE_BUILD_TESTS:BOOL=OFF -) -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/EABase) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") - -vcpkg_copy_pdbs() - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO electronicarts/EABase + REF 123363eb82e132c0181ac53e43226d8ee76dea12 + SHA512 8df5279d1b303047e832b8b0ddb6cdf51cca753efaeb2a36f7fa5ebc015c2f37cc6a68184b919deb45f09dfd89f9f8f79f18c487817d231f1b049102ceae610f + HEAD_REF master + PATCHES + fix_cmake_install.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/EABaseConfig.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DEABASE_BUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/EABase) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/eabase/vcpkg.json b/ports/eabase/vcpkg.json index 1b503d8c71f462..f4af37e6aa84bc 100644 --- a/ports/eabase/vcpkg.json +++ b/ports/eabase/vcpkg.json @@ -1,7 +1,6 @@ { "name": "eabase", - "version-string": "2.09.12", - "port-version": 3, + "version-date": "2024-08-18", "description": "Electronic Arts Base. EABase is a small set of header files that define platform-independent data types and macros.", "homepage": "https://github.com/electronicarts/EABase", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index f62e7a57837640..b8417b846aa060 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2457,8 +2457,8 @@ "port-version": 0 }, "eabase": { - "baseline": "2.09.12", - "port-version": 3 + "baseline": "2024-08-18", + "port-version": 0 }, "earcut-hpp": { "baseline": "2.2.4", diff --git a/versions/e-/eabase.json b/versions/e-/eabase.json index 67370d65eca41c..c18c9075394f9a 100644 --- a/versions/e-/eabase.json +++ b/versions/e-/eabase.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "414a2b49e81c82eefcd778b01c1dc66ade9ad4fc", + "version-date": "2024-08-18", + "port-version": 0 + }, { "git-tree": "71d9d1d988dad11e4eaa0cb39cc1a957a839308d", "version-string": "2.09.12", From e2de98e27a41d2fbdb588b8f25b941a20f539bca Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 06:58:52 +0900 Subject: [PATCH 20/35] [toml11] update to 4.3.0 (#43550) --- ports/toml11/portfile.cmake | 2 +- ports/toml11/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/t-/toml11.json | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/toml11/portfile.cmake b/ports/toml11/portfile.cmake index f18ea8579da187..1d8823daad63b5 100644 --- a/ports/toml11/portfile.cmake +++ b/ports/toml11/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ToruNiina/toml11 REF "v${VERSION}" - SHA512 acb29d37150e5752526cf0a38ae7f207fcfd142d3c78d280e706ad404b2d32f5bae6d44d6ce13cc0bdfd3b0fa4a0a94cf732d70b1fd2a01c3c517fee8a4ef05b + SHA512 2ceed4f5783a88f9bfb6d044cbf3d1d5dd2b061d4cbe89e9c4e8773b85d37005562365e5e61e68a345867d1c2b3ab9c5ecdc98356b3cdb944b94201ed5edd00b HEAD_REF master ) diff --git a/ports/toml11/vcpkg.json b/ports/toml11/vcpkg.json index 55b4c64dbaff82..fde8ed805bd7ac 100644 --- a/ports/toml11/vcpkg.json +++ b/ports/toml11/vcpkg.json @@ -1,6 +1,6 @@ { "name": "toml11", - "version": "4.2.0", + "version": "4.3.0", "description": "A C++11 header-only toml parser/encoder depending only on C++ standard library.", "homepage": "https://github.com/ToruNiina/toml11", "license": "MIT", diff --git a/versions/baseline.json b/versions/baseline.json index b8417b846aa060..aa4e98cd016776 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9189,7 +9189,7 @@ "port-version": 0 }, "toml11": { - "baseline": "4.2.0", + "baseline": "4.3.0", "port-version": 0 }, "tomlplusplus": { diff --git a/versions/t-/toml11.json b/versions/t-/toml11.json index ee2ff5252b54dd..0a8fa65e3ade7f 100644 --- a/versions/t-/toml11.json +++ b/versions/t-/toml11.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f26fdec7e40f482f63d521e552cc636c0ed7a913", + "version": "4.3.0", + "port-version": 0 + }, { "git-tree": "d42cf90d8c98a2a3da2c0d3cd94f038b9093eb60", "version": "4.2.0", From acfb09d4fa40409b76953c08677490c17b7891e7 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 06:59:06 +0900 Subject: [PATCH 21/35] [qoixx] update to 0.1.7 (#43544) --- ports/qoixx/portfile.cmake | 4 ++-- ports/qoixx/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/q-/qoixx.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/qoixx/portfile.cmake b/ports/qoixx/portfile.cmake index b68514d9274170..d1554e5676cccb 100644 --- a/ports/qoixx/portfile.cmake +++ b/ports/qoixx/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wx257osn2/qoixx - REF eac3b33fbcb96a2664c00c24fe4e3e0d35cc7a7e # committed on 2022-12-07 - SHA512 5dd379036e064527cb25376864fb6e6cb3d461baf95a6c98148202a8072f049ae0edfbac17bf76550eeb1f367d2426b6edd0a86b9231d50bb66771878df207c4 + REF v${VERSION} + SHA512 1d2ef5d60ab89f2b284d919870eb7fac3adc6e36102d69c750341827564374038454497378e7b40bca2f34446bc5e1da9f046752ee6bc3a03956b4469948f1af HEAD_REF master ) diff --git a/ports/qoixx/vcpkg.json b/ports/qoixx/vcpkg.json index cef3ddb9a7bce2..50e7a896f66917 100644 --- a/ports/qoixx/vcpkg.json +++ b/ports/qoixx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "qoixx", - "version-date": "2022-12-07", + "version": "0.1.7", "description": "Single Header Quite Fast QOI(Quite OK Image Format) Implementation written in C++20", "homepage": "https://github.com/wx257osn2/qoixx", "license": "MIT" diff --git a/versions/baseline.json b/versions/baseline.json index aa4e98cd016776..b494a7d7571617 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7373,7 +7373,7 @@ "port-version": 0 }, "qoixx": { - "baseline": "2022-12-07", + "baseline": "0.1.7", "port-version": 0 }, "qpid-proton": { diff --git a/versions/q-/qoixx.json b/versions/q-/qoixx.json index acf5e03766d489..c407a88a46de2f 100644 --- a/versions/q-/qoixx.json +++ b/versions/q-/qoixx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f22943e22a437c1c4b4aad5c9ce4ca006ccc66ee", + "version": "0.1.7", + "port-version": 0 + }, { "git-tree": "6f87694d4959ad4f4cd207b7225b73c113157855", "version-date": "2022-12-07", From 82c0a0fb8b829e0f67e0a4c68ff84615f64bf4c2 Mon Sep 17 00:00:00 2001 From: rremilian <92378685+rremilian@users.noreply.github.com> Date: Thu, 30 Jan 2025 23:59:46 +0200 Subject: [PATCH 22/35] [grpc] update to 1.70.0 (#43543) --- ports/grpc/00001-fix-uwp.patch | 24 +++++++++---------- ports/grpc/00017-fix-NAN-on-Win11.patch | 17 ------------- .../grpc/00018-fix-windows-event-engine.patch | 13 ---------- ports/grpc/portfile.cmake | 4 +--- ports/grpc/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/g-/grpc.json | 5 ++++ 7 files changed, 20 insertions(+), 47 deletions(-) delete mode 100644 ports/grpc/00017-fix-NAN-on-Win11.patch delete mode 100644 ports/grpc/00018-fix-windows-event-engine.patch diff --git a/ports/grpc/00001-fix-uwp.patch b/ports/grpc/00001-fix-uwp.patch index e33079b34c68a7..2fff405541505d 100644 --- a/ports/grpc/00001-fix-uwp.patch +++ b/ports/grpc/00001-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec370e9..4f7d770 100644 +index fa5b2a0..45d6b78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -237,6 +237,9 @@ if(UNIX) +@@ -284,6 +284,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) @@ -12,7 +12,7 @@ index ec370e9..4f7d770 100644 endif() if (APPLE AND NOT DEFINED CMAKE_CXX_STANDARD) -@@ -267,6 +270,9 @@ if(MSVC) +@@ -314,6 +317,9 @@ if(MSVC) set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4267") # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619") @@ -22,7 +22,7 @@ index ec370e9..4f7d770 100644 # Silences thousands of trucation warnings set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4503") # Tell MSVC to build grpc using utf-8 -@@ -439,6 +445,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) +@@ -546,6 +552,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) @@ -33,7 +33,7 @@ index ec370e9..4f7d770 100644 if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() -@@ -561,6 +571,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) +@@ -668,6 +678,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) list(APPEND _gRPC_PLUGIN_LIST grpc_ruby_plugin) endif () @@ -41,19 +41,19 @@ index ec370e9..4f7d770 100644 add_custom_target(plugins DEPENDS ${_gRPC_PLUGIN_LIST} ) -@@ -575,6 +586,7 @@ add_custom_target(tools_cxx - +@@ -683,6 +694,7 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) -+endif() ++endif() protobuf_generate_grpc_cpp_with_import_path_correction( - src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto + src/core/ext/transport/chaotic_good/chaotic_good_frame.proto src/core/ext/transport/chaotic_good/chaotic_good_frame.proto + ) diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc -index b034cca..5dbdfe3 100644 +index 462ba6b..06e1a0c 100644 --- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc -@@ -40,6 +40,7 @@ bool check_bios_data(const char*) { return false; } +@@ -38,6 +38,7 @@ bool check_bios_data(const char*) { return false; } bool check_windows_registry_product_name(HKEY root_key, const char* reg_key_path, const char* reg_key_name) { @@ -61,7 +61,7 @@ index b034cca..5dbdfe3 100644 const size_t kProductNameBufferSize = 256; char const expected_substr[] = "Google"; -@@ -72,6 +73,9 @@ bool check_windows_registry_product_name(HKEY root_key, +@@ -70,6 +71,9 @@ bool check_windows_registry_product_name(HKEY root_key, } return strstr(buffer, expected_substr) != nullptr; diff --git a/ports/grpc/00017-fix-NAN-on-Win11.patch b/ports/grpc/00017-fix-NAN-on-Win11.patch deleted file mode 100644 index 2501507369c346..00000000000000 --- a/ports/grpc/00017-fix-NAN-on-Win11.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/third_party/upb/upb/message/internal/message.c b/third_party/upb/upb/message/internal/message.c -index 76f4e3fe5a..09aafb47d9 100644 ---- a/third_party/upb/upb/message/internal/message.c -+++ b/third_party/upb/upb/message/internal/message.c -@@ -17,9 +17,9 @@ - // Must be last. - #include "upb/port/def.inc" - --const float kUpb_FltInfinity = INFINITY; --const double kUpb_Infinity = INFINITY; --const double kUpb_NaN = NAN; -+const float kUpb_FltInfinity = (float)(1.0 / 0.0); -+const double kUpb_Infinity = 1.0 / 0.0; -+const double kUpb_NaN = 0.0 / 0.0; - - bool UPB_PRIVATE(_upb_Message_Realloc)(struct upb_Message* msg, size_t need, - upb_Arena* a) { diff --git a/ports/grpc/00018-fix-windows-event-engine.patch b/ports/grpc/00018-fix-windows-event-engine.patch deleted file mode 100644 index 41e5ed9d0f1c80..00000000000000 --- a/ports/grpc/00018-fix-windows-event-engine.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc b/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc -index 3bfd15537e..0d4dcd5579 100644 ---- a/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc -+++ b/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc -@@ -224,7 +224,7 @@ class GrpcPolledFdWindows : public GrpcPolledFd { - // c-ares overloads this recv_from virtual socket function to receive - // data on both UDP and TCP sockets, and from is nullptr for TCP. - if (from != nullptr) { -- CHECK(*from_len <= recv_from_source_addr_len_); -+ CHECK(*from_len >= recv_from_source_addr_len_); - memcpy(from, &recv_from_source_addr_, recv_from_source_addr_len_); - *from_len = recv_from_source_addr_len_; - } diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index 897cd1ff57d2b7..bb0e214af81390 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc REF "v${VERSION}" - SHA512 8f595429afc86e8ef7e1ba7d8b9fb579e9e334f822a4a26ab2cbd0ab13bcb421afaab21febffd023fbd688cfa2b8be834f9047aa70e6561bc181ba6737892304 + SHA512 076610c92fc05bbf716d2ba2d031f478ea533c40342d20eda16c174a91441ca1a221c1b9d1f795cf7d3484f16de5f8339479b3a75d7a2fd72abe6f79297628ea HEAD_REF master PATCHES 00001-fix-uwp.patch @@ -16,8 +16,6 @@ vcpkg_from_github( 00006-utf8-range.patch 00015-disable-download-archive.patch 00016-fix-plugin-targets.patch - 00017-fix-NAN-on-Win11.patch - 00018-fix-windows-event-engine.patch 00019-protobuf-generate-with-import-path-correction.patch ) # Ensure de-vendoring diff --git a/ports/grpc/vcpkg.json b/ports/grpc/vcpkg.json index e838be8bfc70e9..5188a48a81336d 100644 --- a/ports/grpc/vcpkg.json +++ b/ports/grpc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "grpc", - "version-semver": "1.68.2", + "version-semver": "1.70.0", "description": "gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems.", "homepage": "https://github.com/grpc/grpc", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index b494a7d7571617..8739f4dd0966e5 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3261,7 +3261,7 @@ "port-version": 0 }, "grpc": { - "baseline": "1.68.2", + "baseline": "1.70.0", "port-version": 0 }, "grppi": { diff --git a/versions/g-/grpc.json b/versions/g-/grpc.json index 4c291124da5de7..0ea1950634bc51 100644 --- a/versions/g-/grpc.json +++ b/versions/g-/grpc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5c9d9d0b9581db5731621a921694bb108c22664d", + "version-semver": "1.70.0", + "port-version": 0 + }, { "git-tree": "9d52c19f55882d1954615b7e7a680e66c6f8085f", "version-semver": "1.68.2", From fa11d3433e58c17bb36997a336f5c836c25bc7fc Mon Sep 17 00:00:00 2001 From: paperchalice Date: Fri, 31 Jan 2025 06:01:17 +0800 Subject: [PATCH 23/35] [libtommath] Use cmake (#43526) --- ports/libtommath/bcrypt.patch | 50 +++++++++++++ ports/libtommath/has-set-double.patch | 14 ++++ ports/libtommath/import-lib.patch | 12 ++++ ports/libtommath/msvc-dce.patch | 21 ++++++ ports/libtommath/portfile.cmake | 100 +++++--------------------- ports/libtommath/usage | 9 +++ ports/libtommath/vcpkg.json | 13 +++- versions/baseline.json | 2 +- versions/l-/libtommath.json | 5 ++ 9 files changed, 141 insertions(+), 85 deletions(-) create mode 100644 ports/libtommath/bcrypt.patch create mode 100644 ports/libtommath/has-set-double.patch create mode 100644 ports/libtommath/import-lib.patch create mode 100644 ports/libtommath/msvc-dce.patch create mode 100644 ports/libtommath/usage diff --git a/ports/libtommath/bcrypt.patch b/ports/libtommath/bcrypt.patch new file mode 100644 index 00000000000000..9bbe73b6fc4549 --- /dev/null +++ b/ports/libtommath/bcrypt.patch @@ -0,0 +1,50 @@ +diff --git a/bn_s_mp_rand_platform.c b/bn_s_mp_rand_platform.c +--- a/bn_s_mp_rand_platform.c ++++ b/bn_s_mp_rand_platform.c +@@ -32,20 +32,20 @@ + #include + + static mp_err s_read_wincsp(void *p, size_t n) + { +- static HCRYPTPROV hProv = 0; +- if (hProv == 0) { +- HCRYPTPROV h = 0; +- if (!CryptAcquireContext(&h, NULL, MS_DEF_PROV, PROV_RSA_FULL, +- (CRYPT_VERIFYCONTEXT | CRYPT_MACHINE_KEYSET)) && +- !CryptAcquireContext(&h, NULL, MS_DEF_PROV, PROV_RSA_FULL, +- CRYPT_VERIFYCONTEXT | CRYPT_MACHINE_KEYSET | CRYPT_NEWKEYSET)) { ++ static BCRYPT_ALG_HANDLE hAlg = 0; ++ if (hAlg == 0) { ++ BCRYPT_ALG_HANDLE h = 0; ++ NTSTATUS status = BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_RSA_ALGORITHM, NULL, ++ BCRYPT_HASH_REUSABLE_FLAG); ++ if(!BCRYPT_SUCCESS(status)) { + return MP_ERR; + } +- hProv = h; ++ hAlg = h; + } +- return CryptGenRandom(hProv, (DWORD)n, (BYTE *)p) == TRUE ? MP_OKAY : MP_ERR; ++ NTSTATUS status = BCryptGenRandom(hAlg, (PUCHAR)p, (ULONG)n, 0); ++ return BCRYPT_SUCCESS(status) ? MP_OKAY : MP_ERR; + } + #endif /* WIN32 */ + + #if !defined(BN_S_READ_WINCSP_C) && defined(__linux__) && defined(__GLIBC_PREREQ) +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,8 +117,13 @@ + ) + target_link_options(${PROJECT_NAME} BEFORE PRIVATE + ${LTM_LD_FLAGS} + ) ++if(WIN32) ++ target_link_options(${PROJECT_NAME} PRIVATE ++ bcrypt.lib ++ ) ++endif() + + set(PUBLIC_HEADERS tommath.h) + set(C89 False CACHE BOOL "(Usually maintained automatically) Enable when the library is in c89 mode to package the correct header files on install") + if(C89) diff --git a/ports/libtommath/has-set-double.patch b/ports/libtommath/has-set-double.patch new file mode 100644 index 00000000000000..6e275d75745326 --- /dev/null +++ b/ports/libtommath/has-set-double.patch @@ -0,0 +1,14 @@ +diff --git a/bn_mp_set_double.c b/bn_mp_set_double.c +--- a/bn_mp_set_double.c ++++ b/bn_mp_set_double.c +@@ -2,9 +2,9 @@ + #ifdef BN_MP_SET_DOUBLE_C + /* LibTomMath, multiple-precision integer library -- Tom St Denis */ + /* SPDX-License-Identifier: Unlicense */ + +-#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) ++#if defined(__STDC_IEC_559__) || defined(__GCC_IEC_559) || defined(_MSC_VER) + mp_err mp_set_double(mp_int *a, double b) + { + uint64_t frac; + int exp; diff --git a/ports/libtommath/import-lib.patch b/ports/libtommath/import-lib.patch new file mode 100644 index 00000000000000..ebce1c3890ffac --- /dev/null +++ b/ports/libtommath/import-lib.patch @@ -0,0 +1,12 @@ +diff --git a/sources.cmake b/sources.cmake +--- a/sources.cmake ++++ b/sources.cmake +@@ -171,4 +171,8 @@ + tommath_cutoffs.h + tommath_private.h + tommath_superclass.h + ) ++ ++if(WIN32) ++ list(APPEND SOURCES tommath.def) ++endif() diff --git a/ports/libtommath/msvc-dce.patch b/ports/libtommath/msvc-dce.patch new file mode 100644 index 00000000000000..342c012bb56ebc --- /dev/null +++ b/ports/libtommath/msvc-dce.patch @@ -0,0 +1,21 @@ +diff --git a/bn_s_mp_rand_platform.c b/bn_s_mp_rand_platform.c +--- a/bn_s_mp_rand_platform.c ++++ b/bn_s_mp_rand_platform.c +@@ -136,13 +136,17 @@ + + mp_err s_mp_rand_platform(void *p, size_t n) + { + mp_err err = MP_ERR; ++ #ifndef _MSC_VER + if ((err != MP_OKAY) && MP_HAS(S_READ_ARC4RANDOM)) err = s_read_arc4random(p, n); ++ #endif + if ((err != MP_OKAY) && MP_HAS(S_READ_WINCSP)) err = s_read_wincsp(p, n); ++ #ifndef _MSC_VER + if ((err != MP_OKAY) && MP_HAS(S_READ_GETRANDOM)) err = s_read_getrandom(p, n); + if ((err != MP_OKAY) && MP_HAS(S_READ_URANDOM)) err = s_read_urandom(p, n); + if ((err != MP_OKAY) && MP_HAS(S_READ_LTM_RNG)) err = s_read_ltm_rng(p, n); ++ #endif + return err; + } + + #endif diff --git a/ports/libtommath/portfile.cmake b/ports/libtommath/portfile.cmake index 6448f1e0a6fbde..6237e8a9a897f5 100644 --- a/ports/libtommath/portfile.cmake +++ b/ports/libtommath/portfile.cmake @@ -4,88 +4,22 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 3dbd7053a670afa563a069a9785f1aa4cab14a210bcd05d8fc7db25bd3dcce36b10a3f4f54ca92d75a694f891226f01bdf6ac15bacafeb93a8be6b04c579beb3 HEAD_REF develop + PATCHES + bcrypt.patch + import-lib.patch + has-set-double.patch # Remove in next release. + msvc-dce.patch # This is a won't fix, see https://github.com/libtom/libtommath/blob/develop/s_mp_rand_platform.c#L120-L138 ) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - - if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(CRTFLAG "/MD") - else() - set(CRTFLAG "/MT") - endif() - - # Make sure we start from a clean slate - vcpkg_execute_build_process( - COMMAND nmake -f ${SOURCE_PATH}/makefile.msvc clean - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME clean-${TARGET_TRIPLET}-dbg - ) - - #Debug Build - vcpkg_execute_build_process( - COMMAND nmake -f ${SOURCE_PATH}/makefile.msvc CFLAGS="${CRTFLAG}d" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}-dbg - ) - - file(INSTALL - ${SOURCE_PATH}/tommath.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - ) - - # Clean up necessary to rebuild without debug symbols - vcpkg_execute_build_process( - COMMAND nmake -f ${SOURCE_PATH}/makefile.msvc clean - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME clean-${TARGET_TRIPLET}-rel - ) - - vcpkg_execute_build_process( - COMMAND nmake -f ${SOURCE_PATH}/makefile.msvc CFLAGS="${CRTFLAG}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}-rel - ) - - file(INSTALL - ${SOURCE_PATH}/tommath.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) - - file(INSTALL - ${SOURCE_PATH}/tommath.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include - ) -else() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(MAKE_FILE "makefile.shared") - else() - set(MAKE_FILE "makefile") - endif() - - vcpkg_execute_build_process( - COMMAND make -f ${MAKE_FILE} clean - WORKING_DIRECTORY ${SOURCE_PATH} - ) - - vcpkg_execute_build_process( - COMMAND make -j${VCPKG_CONCURRENCY} -f ${MAKE_FILE} PREFIX=${CURRENT_PACKAGES_DIR}/debug COMPILE_DEBUG=1 install - WORKING_DIRECTORY ${SOURCE_PATH} - ) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - - vcpkg_execute_build_process( - COMMAND make -f ${MAKE_FILE} clean - WORKING_DIRECTORY ${SOURCE_PATH} - ) - - vcpkg_execute_build_process( - COMMAND make -j${VCPKG_CONCURRENCY} -f ${MAKE_FILE} PREFIX=${CURRENT_PACKAGES_DIR} install - WORKING_DIRECTORY ${SOURCE_PATH} - ) -endif() - -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright -) \ No newline at end of file +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libtommath/usage b/ports/libtommath/usage new file mode 100644 index 00000000000000..e2028c1a8e732e --- /dev/null +++ b/ports/libtommath/usage @@ -0,0 +1,9 @@ +libtommath provides CMake targets: + + find_package(libtommath CONFIG REQUIRED) + target_link_libraries(main PRIVATE libtommath) + +libtommath provides pkg-config modules: + + # public domain library for manipulating large integer numbers + libtommath diff --git a/ports/libtommath/vcpkg.json b/ports/libtommath/vcpkg.json index 2dedf585f067c1..2efd1171cafcdf 100644 --- a/ports/libtommath/vcpkg.json +++ b/ports/libtommath/vcpkg.json @@ -1,6 +1,17 @@ { "name": "libtommath", "version": "1.3.0", + "port-version": 1, "description": "LibTomMath is a free open source portable number theoretic multiple-precision integer library written entirely in C.", - "homepage": "https://www.libtom.net/LibTomMath/" + "homepage": "https://www.libtom.net/LibTomMath/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/versions/baseline.json b/versions/baseline.json index 8739f4dd0966e5..602f8bdd68f615 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5230,7 +5230,7 @@ }, "libtommath": { "baseline": "1.3.0", - "port-version": 0 + "port-version": 1 }, "libtorch": { "baseline": "2.1.2", diff --git a/versions/l-/libtommath.json b/versions/l-/libtommath.json index a723931d395787..941185ef1f78bd 100644 --- a/versions/l-/libtommath.json +++ b/versions/l-/libtommath.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "11ad9c01ff8b7c69858db06f1ed1a52dc9bbc2f7", + "version": "1.3.0", + "port-version": 1 + }, { "git-tree": "2fd65dd0d956f575d8333a0b35ef08c3bc9bcbcd", "version": "1.3.0", From fba8351380419a5005e81a4b2975bd9e4edc7920 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 07:01:40 +0900 Subject: [PATCH 24/35] [lexbor] update to 2.4.0 (#43521) --- ports/lexbor/portfile.cmake | 11 +++++++++-- ports/lexbor/vcpkg.json | 10 ++++++++-- versions/baseline.json | 2 +- versions/l-/lexbor.json | 5 +++++ 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ports/lexbor/portfile.cmake b/ports/lexbor/portfile.cmake index 7f6bc8c21db0a1..f43c396bd8ae52 100644 --- a/ports/lexbor/portfile.cmake +++ b/ports/lexbor/portfile.cmake @@ -2,7 +2,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lexbor/lexbor REF v${VERSION} - SHA512 add1832f2e1927538206329703cd717fb30cb6ae2f52e1a0042961062cbcafd2e3ce4437ee2081ad7b2d51c6b63b910be06987e47c4a7007321db52b2812e515 + SHA512 c12a04df5852464e6448a771ca6914ae5eeec48d84f0d199d034b65260edf49a7c47bbd8c910e1bf62b2592237a352368d1640660b2c55c5e5cd355c79782350 +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + perf LEXBOR_WITH_PERF ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) @@ -11,13 +17,14 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DLEXBOR_BUILD_SHARED=${BUILD_SHARED} -DLEXBOR_BUILD_STATIC=${BUILD_STATIC} ) vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/lexbor/html/tree/insertion_mode" "${CURRENT_PACKAGES_DIR}/debug/include/lexbor/html/tree/insertion_mode" ) diff --git a/ports/lexbor/vcpkg.json b/ports/lexbor/vcpkg.json index 680ebf77ddbb11..a9d60cbc8718de 100644 --- a/ports/lexbor/vcpkg.json +++ b/ports/lexbor/vcpkg.json @@ -1,6 +1,6 @@ { "name": "lexbor", - "version": "2.3.0", + "version": "2.4.0", "description": "Lexbor is development of an open source HTML Renderer library.", "homepage": "https://github.com/lexbor/lexbor", "supports": "!uwp", @@ -13,5 +13,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "perf": { + "description": "Enables support for rdtsc", + "supports": "!arm" + } + } } diff --git a/versions/baseline.json b/versions/baseline.json index 602f8bdd68f615..1b18adbe3460e0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4257,7 +4257,7 @@ "port-version": 3 }, "lexbor": { - "baseline": "2.3.0", + "baseline": "2.4.0", "port-version": 0 }, "lfreist-hwinfo": { diff --git a/versions/l-/lexbor.json b/versions/l-/lexbor.json index 1d99be98202bec..dff9d497d50d56 100644 --- a/versions/l-/lexbor.json +++ b/versions/l-/lexbor.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a1c8b0e692108899df6b14cdc169e9af294aae83", + "version": "2.4.0", + "port-version": 0 + }, { "git-tree": "ae940a82ff44ebbeea58d1022e28ae1d1f853213", "version": "2.3.0", From 4dbb89eb7011400d8f89e71a8cd7cce18734db1d Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Thu, 30 Jan 2025 23:03:02 +0100 Subject: [PATCH 25/35] [awlib] fix mac build (#43514) --- ports/awlib/fix-mac-build.patch | 44 +++++++++++++++++++++++++++++++++ ports/awlib/portfile.cmake | 2 ++ ports/awlib/vcpkg.json | 1 + versions/a-/awlib.json | 5 ++++ versions/baseline.json | 2 +- 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 ports/awlib/fix-mac-build.patch diff --git a/ports/awlib/fix-mac-build.patch b/ports/awlib/fix-mac-build.patch new file mode 100644 index 00000000000000..de76dc8959ea88 --- /dev/null +++ b/ports/awlib/fix-mac-build.patch @@ -0,0 +1,44 @@ +diff --git a/io/include/aw/io/mmap_file.h b/io/include/aw/io/mmap_file.h +index 98469732..65e82aac 100644 +--- a/io/include/aw/io/mmap_file.h ++++ b/io/include/aw/io/mmap_file.h +@@ -83,18 +83,18 @@ using win32::file_mapping; + inline file_mode get_file_mode(map_perms perms) + { + using mp = map_perms; +- switch (perms) { +- case mp::none: +- case mp::none|mp::exec: ++ switch (static_cast(perms)) { ++ case static_cast(mp::none): ++ case static_cast(mp::none|mp::exec): + return file_mode::none; +- case mp::read: +- case mp::read|mp::exec: ++ case static_cast(mp::read): ++ case static_cast(mp::read|mp::exec): + return file_mode::read; +- case mp::write: ++ case static_cast(mp::write): + return file_mode::write; +- case mp::write|mp::exec: +- case mp::rdwr: +- case mp::rdwr|mp::exec: ++ case static_cast(mp::write|mp::exec): ++ case static_cast(mp::rdwr): ++ case static_cast(mp::rdwr|mp::exec): + return file_mode::read|file_mode::write; + } + +diff --git a/types/include/aw/types/byte_buffer.h b/types/include/aw/types/byte_buffer.h +index 82f46934..b38c46a9 100644 +--- a/types/include/aw/types/byte_buffer.h ++++ b/types/include/aw/types/byte_buffer.h +@@ -8,6 +8,7 @@ + */ + #ifndef aw_types_byte_buffer_h + #define aw_types_byte_buffer_h ++#include + #include + namespace aw { + /** diff --git a/ports/awlib/portfile.cmake b/ports/awlib/portfile.cmake index 1a4a38d495e2a6..637f229774cd91 100644 --- a/ports/awlib/portfile.cmake +++ b/ports/awlib/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF ${VERSION} SHA512 bfb4668abc3db176744bb674a20bf770c6406db522a14191069b8d833414285ca784f042c3ad50404f7f8bc76afe69627dfcf540080e12316abbbfe420955526 HEAD_REF master + PATCHES + fix-mac-build.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/awlib/vcpkg.json b/ports/awlib/vcpkg.json index dea3a1e3ac4eff..4a85e9857f6415 100644 --- a/ports/awlib/vcpkg.json +++ b/ports/awlib/vcpkg.json @@ -1,6 +1,7 @@ { "name": "awlib", "version-date": "2024-04-06", + "port-version": 1, "description": "Cross-platform utility library", "homepage": "https://github.com/absurdworlds/awlib", "license": "LGPL-3.0-or-later", diff --git a/versions/a-/awlib.json b/versions/a-/awlib.json index 92d67932cba393..b1d55d6d8b224f 100644 --- a/versions/a-/awlib.json +++ b/versions/a-/awlib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8e81b74f7134ef57eeabdfee3984e76eef3a7707", + "version-date": "2024-04-06", + "port-version": 1 + }, { "git-tree": "539db7a8b7652c86c735594e04dc1a1e09647035", "version-date": "2024-04-06", diff --git a/versions/baseline.json b/versions/baseline.json index 1b18adbe3460e0..ce71f6a411e0c2 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -386,7 +386,7 @@ }, "awlib": { "baseline": "2024-04-06", - "port-version": 0 + "port-version": 1 }, "aws-c-auth": { "baseline": "0.8.0", From e0d25ab0b80a557f411a2f3e83ae588e72dbd529 Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Thu, 30 Jan 2025 23:19:14 +0100 Subject: [PATCH 26/35] [openjpeg] Update to 2.5.3 (#43511) --- ports/openjpeg/openjpip-static.diff | 22 ---------------------- ports/openjpeg/portfile.cmake | 3 +-- ports/openjpeg/vcpkg.json | 3 +-- versions/baseline.json | 4 ++-- versions/o-/openjpeg.json | 5 +++++ 5 files changed, 9 insertions(+), 28 deletions(-) delete mode 100644 ports/openjpeg/openjpip-static.diff diff --git a/ports/openjpeg/openjpip-static.diff b/ports/openjpeg/openjpip-static.diff deleted file mode 100644 index 4ec88a00eb3af1..00000000000000 --- a/ports/openjpeg/openjpip-static.diff +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/lib/openjpip/CMakeLists.txt b/src/lib/openjpip/CMakeLists.txt -index e9d8193..6584a74 100644 ---- a/src/lib/openjpip/CMakeLists.txt -+++ b/src/lib/openjpip/CMakeLists.txt -@@ -52,14 +52,14 @@ set(LOCAL_SRCS - ) - - # Build the library -+add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) - if(WIN32) - if(BUILD_SHARED_LIBS) -- add_definitions(-DOPJ_EXPORTS) -+ target_compile_definitions(openjpip PRIVATE OPJ_EXPORTS) - else() -- add_definitions(-DOPJ_STATIC) -+ target_compile_definitions(openjpip PUBLIC OPJ_STATIC) - endif() - endif() --add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) - set_target_properties(openjpip - PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) - target_compile_options(openjpip PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) diff --git a/ports/openjpeg/portfile.cmake b/ports/openjpeg/portfile.cmake index 90cd47bd46dbd8..b67617e60f38be 100644 --- a/ports/openjpeg/portfile.cmake +++ b/ports/openjpeg/portfile.cmake @@ -2,11 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uclouvain/openjpeg REF "v${VERSION}" - SHA512 24c058b3e0710e689ba7fd6bce8a88353ce64e825b2e5bbf6b00ca3f2a2ec1e9c70a72e0252a5c89d10c537cf84d55af54bf2f16c58ca01db98c2018cf132e1a + SHA512 22378f5c38c1eb8ade853716897201d8a253024638bdf94fd9851d6a456601071e705c797c5ffeeb6924be14d7356f9a67f15c2b99e96f7d27fc375a9d94505a HEAD_REF master PATCHES third-party.diff - openjpip-static.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) diff --git a/ports/openjpeg/vcpkg.json b/ports/openjpeg/vcpkg.json index dcc5ed9e9337d6..018b4fbffb86a5 100644 --- a/ports/openjpeg/vcpkg.json +++ b/ports/openjpeg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "openjpeg", - "version": "2.5.2", - "port-version": 1, + "version": "2.5.3", "description": "OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard from the Joint Photographic Experts Group (JPEG). Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.", "homepage": "https://github.com/uclouvain/openjpeg", "license": "BSD-2-Clause", diff --git a/versions/baseline.json b/versions/baseline.json index ce71f6a411e0c2..2117b982a2e852 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6725,8 +6725,8 @@ "port-version": 0 }, "openjpeg": { - "baseline": "2.5.2", - "port-version": 1 + "baseline": "2.5.3", + "port-version": 0 }, "openldap": { "baseline": "2.5.18", diff --git a/versions/o-/openjpeg.json b/versions/o-/openjpeg.json index 2eac2e8e02f521..2588101430e625 100644 --- a/versions/o-/openjpeg.json +++ b/versions/o-/openjpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "61c643a75c48577ade1b0bc24d3a292b23ee3afd", + "version": "2.5.3", + "port-version": 0 + }, { "git-tree": "1b99f9bb2f9f35e4bb3c6c83ff08e06a930ce72a", "version": "2.5.2", From 17043e0032811bfeebcc7a41e1dde41604515513 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 07:19:31 +0900 Subject: [PATCH 27/35] [asmjit] update to 2025-01-22 (#43510) --- ports/asmjit/portfile.cmake | 4 ++-- ports/asmjit/vcpkg.json | 2 +- ports/blend2d/portfile.cmake | 4 ++-- ports/blend2d/vcpkg.json | 2 +- versions/a-/asmjit.json | 5 +++++ versions/b-/blend2d.json | 5 +++++ versions/baseline.json | 4 ++-- 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake index 59d90bd0d37f71..4a1cee2239c506 100644 --- a/ports/asmjit/portfile.cmake +++ b/ports/asmjit/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO asmjit/asmjit - REF ffac9f36fb045dd2c6a81e1b5b9ccc115e5ef924 # commited on 2024-06-28 - SHA512 3a594bdea7095f66356f8c21e03a4db2535811988726c25a29e66721cb703dc9dceddeb5f8a6c7daeafba3fbf6dd07e71375446d8dfb182f57c14bce28192774 + REF e1b20711cc40c29ec4918b54e328ace96470f6e5 # commited on 2025-01-22 + SHA512 5d40840ce203bcef86d81b3538be7a4443dbcba52735cf9c90bc9c974d3c7e1ab75ff0fd7e2c72533d73884cce93808e63aa2228c2b7c5376aee4437070714a2 HEAD_REF master ) diff --git a/ports/asmjit/vcpkg.json b/ports/asmjit/vcpkg.json index 47e60ced5679b9..a975123e07f43e 100644 --- a/ports/asmjit/vcpkg.json +++ b/ports/asmjit/vcpkg.json @@ -1,6 +1,6 @@ { "name": "asmjit", - "version-date": "2024-06-28", + "version-date": "2025-01-22", "description": "AsmJit is a lightweight library for machine code generation written in C++ language", "homepage": "https://asmjit.com/", "documentation": "https://asmjit.com/doc/", diff --git a/ports/blend2d/portfile.cmake b/ports/blend2d/portfile.cmake index d2225fe30eebc1..aa752f629999ca 100644 --- a/ports/blend2d/portfile.cmake +++ b/ports/blend2d/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blend2d/blend2d - REF 9a86b2700917ced827c008c3dd488108afb3490c # commited on 2024-07-08 - SHA512 741404d4c7044e8d338ad5b02e6b6e00b7e40f9c9cf03c53de4607447b552f559747d4a96d53c7b6311abb6348f4bf8a4abd6d726c51be8c1b7e65e540c4f128 + REF 7eb92c2946fb35c23c09dbdc6e98d835679d7f82 # commited on 2024-11-23 + SHA512 e34cbd4cf294eaa5a180437ae60d0d38665ace5b464b4c89d85b9cf77fbe1e5488bc0bcfa29e4d66b3d24a97da96ce1c25f15b2e36b9455ccef9874c7bb847b0 HEAD_REF master ) diff --git a/ports/blend2d/vcpkg.json b/ports/blend2d/vcpkg.json index cbd12836b94ada..d574d5863b8ea2 100644 --- a/ports/blend2d/vcpkg.json +++ b/ports/blend2d/vcpkg.json @@ -1,6 +1,6 @@ { "name": "blend2d", - "version-date": "2024-07-08", + "version-date": "2024-11-23", "description": "2D Vector Graphics Engine Powered by a JIT Compiler", "homepage": "https://github.com/blend2d/blend2d", "documentation": "https://blend2d.com/doc/index.html", diff --git a/versions/a-/asmjit.json b/versions/a-/asmjit.json index 4b76cc931a7064..bac05813268858 100644 --- a/versions/a-/asmjit.json +++ b/versions/a-/asmjit.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7edf4fd2716465738a0d0eb8a199a828f0ba7aef", + "version-date": "2025-01-22", + "port-version": 0 + }, { "git-tree": "31ca0526f2e64a853da3f75e931a9b17c5af7014", "version-date": "2024-06-28", diff --git a/versions/b-/blend2d.json b/versions/b-/blend2d.json index 137769f91ca132..1d916a5f6eb3b4 100644 --- a/versions/b-/blend2d.json +++ b/versions/b-/blend2d.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d1f7110a127ab278f91765da0f9219d2c3029013", + "version-date": "2024-11-23", + "port-version": 0 + }, { "git-tree": "2552a43118b9e6890e486db9376c0c69b6cc82ca", "version-date": "2024-07-08", diff --git a/versions/baseline.json b/versions/baseline.json index 2117b982a2e852..33ea52de4dc627 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -273,7 +273,7 @@ "port-version": 7 }, "asmjit": { - "baseline": "2024-06-28", + "baseline": "2025-01-22", "port-version": 0 }, "asmtk": { @@ -685,7 +685,7 @@ "port-version": 1 }, "blend2d": { - "baseline": "2024-07-08", + "baseline": "2024-11-23", "port-version": 0 }, "blingfire": { From 4fb84773f10606ec7cc9209040f083e97e4d5ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Thu, 30 Jan 2025 23:19:43 +0100 Subject: [PATCH 28/35] [quill] Update to 8.1.0 (#43508) --- ports/quill/portfile.cmake | 2 +- ports/quill/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/q-/quill.json | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/quill/portfile.cmake b/ports/quill/portfile.cmake index 201a93fd6d3160..017751e197ed01 100644 --- a/ports/quill/portfile.cmake +++ b/ports/quill/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO odygrd/quill REF v${VERSION} - SHA512 17ce6195f1ad849b0ff2ea8a5584f091e9dfb4f53b6c03247b5e6dcb1f2e505a4da0dfef672ae437b758b51dac8bc747595e744a3620fd26848d0e4c57f6445f + SHA512 0d97648eb333ffc580f024909dd00265fdfaa523ad7e91128af1fea7b15b2db03720b9d627c58ed5aa3e5e79f0be591a057b7952366ca4e31531cffc913498d0 HEAD_REF master ) diff --git a/ports/quill/vcpkg.json b/ports/quill/vcpkg.json index 3183f119ab0bbe..dd03c55ddedca1 100644 --- a/ports/quill/vcpkg.json +++ b/ports/quill/vcpkg.json @@ -1,6 +1,6 @@ { "name": "quill", - "version": "8.0.0", + "version": "8.1.0", "description": "Asynchronous Low Latency C++ Logging Library", "homepage": "https://github.com/odygrd/quill/", "license": "MIT", diff --git a/versions/baseline.json b/versions/baseline.json index 33ea52de4dc627..9ee162442ecd85 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7781,7 +7781,7 @@ "port-version": 9 }, "quill": { - "baseline": "8.0.0", + "baseline": "8.1.0", "port-version": 0 }, "quirc": { diff --git a/versions/q-/quill.json b/versions/q-/quill.json index 0b8e0e635a5460..ee167b7022b3cf 100644 --- a/versions/q-/quill.json +++ b/versions/q-/quill.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5e78981cfad567b92a7b819eb426c30c90c207c7", + "version": "8.1.0", + "port-version": 0 + }, { "git-tree": "2dca9bfe083b1cc324280d5b5f680566b15186a9", "version": "8.0.0", From c838523e2ce27a26a037ee815f8a3d706021e30c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 07:19:58 +0900 Subject: [PATCH 29/35] [thorvg] update to 0.15.9 (#43507) --- ports/thorvg/portfile.cmake | 2 +- ports/thorvg/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/t-/thorvg.json | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/thorvg/portfile.cmake b/ports/thorvg/portfile.cmake index eed3b459d525d6..7fbbab4d17cccb 100644 --- a/ports/thorvg/portfile.cmake +++ b/ports/thorvg/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO thorvg/thorvg REF "v${VERSION}" - SHA512 e81dd47a48772653598f647c6f625e9072e2d70641185c969679db92b34a23738b1bb57360ee44bf97fd39b25b14d59805b981c7e8a6efb9b920d551638dcc5f + SHA512 f0a1a049284db5945fc5562dd50009fdc29bae847ca8e1dff585c35dc0d6b827c8c5a888cb04d7b58765635409aca09824cd3f5a78dc28acfd25d57b7cebde4d HEAD_REF master ) diff --git a/ports/thorvg/vcpkg.json b/ports/thorvg/vcpkg.json index 49ceae4a440b9d..21ea8a16f2c945 100644 --- a/ports/thorvg/vcpkg.json +++ b/ports/thorvg/vcpkg.json @@ -1,6 +1,6 @@ { "name": "thorvg", - "version": "0.15.6", + "version": "0.15.9", "description": "ThorVG is a platform-independent portable library for drawing vector-based scenes and animations", "homepage": "https://www.thorvg.org", "license": "MIT", diff --git a/versions/baseline.json b/versions/baseline.json index 9ee162442ecd85..059429b574f31f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9025,7 +9025,7 @@ "port-version": 2 }, "thorvg": { - "baseline": "0.15.6", + "baseline": "0.15.9", "port-version": 0 }, "threadpool": { diff --git a/versions/t-/thorvg.json b/versions/t-/thorvg.json index cfca4ab4da7d2a..dc122a18a295d9 100644 --- a/versions/t-/thorvg.json +++ b/versions/t-/thorvg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "138ac6d7589070c8a6804f804be2b44637ddd97c", + "version": "0.15.9", + "port-version": 0 + }, { "git-tree": "666b61a993b2709d807638e6661385d523f09ba4", "version": "0.15.6", From 058088532e33f23ac1ad31e32ad0bb1ab8e32195 Mon Sep 17 00:00:00 2001 From: Maxim Khon Date: Thu, 30 Jan 2025 22:20:14 +0000 Subject: [PATCH 30/35] [gtk3] Update to 3.24.43 (#43505) --- ports/gtk3/cairo-cpp-linkage.patch | 2 +- ports/gtk3/portfile.cmake | 2 +- ports/gtk3/vcpkg.json | 3 +-- versions/baseline.json | 4 ++-- versions/g-/gtk3.json | 5 +++++ 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ports/gtk3/cairo-cpp-linkage.patch b/ports/gtk3/cairo-cpp-linkage.patch index c36a7aaeb3fb41..dce7739b625c22 100644 --- a/ports/gtk3/cairo-cpp-linkage.patch +++ b/ports/gtk3/cairo-cpp-linkage.patch @@ -57,6 +57,6 @@ index 287f0cb..d35106f 100644 @@ -1,4 +1,4 @@ -project('gtk+', 'c', +project('gtk+', 'c', 'cpp', - version: '3.24.38', + version: '3.24.43', default_options: [ 'buildtype=debugoptimized', diff --git a/ports/gtk3/portfile.cmake b/ports/gtk3/portfile.cmake index 1d99922d86bbe8..1198ccbea55fc1 100644 --- a/ports/gtk3/portfile.cmake +++ b/ports/gtk3/portfile.cmake @@ -11,7 +11,7 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.gnome.org REPO GNOME/gtk REF "${VERSION}" - SHA512 ffb52ee34074be6e88fda40a025044b653d05b69c35819eed159a020a6f1c881a83735aa7bec943470c465328bb3bb20b34afeb3b98cdcfca9d2eaaed3ab61ef + SHA512 19e5482e4e843aa946ab79c8ce283a7b44aaac43ad99b6913cbc3c91492bf722ebe0238457b75b82be6d6c65a394d32ebc8732832f3f800145e3cf69d5c1e77c PATCHES 0001-build.patch cairo-cpp-linkage.patch diff --git a/ports/gtk3/vcpkg.json b/ports/gtk3/vcpkg.json index 98d9ee9804ee74..1f379815289043 100644 --- a/ports/gtk3/vcpkg.json +++ b/ports/gtk3/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gtk3", - "version": "3.24.38", - "port-version": 2, + "version": "3.24.43", "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", "license": null, diff --git a/versions/baseline.json b/versions/baseline.json index 059429b574f31f..bda91c2df75e40 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3301,8 +3301,8 @@ "port-version": 1 }, "gtk3": { - "baseline": "3.24.38", - "port-version": 2 + "baseline": "3.24.43", + "port-version": 0 }, "gtkmm": { "baseline": "4.14.0", diff --git a/versions/g-/gtk3.json b/versions/g-/gtk3.json index 45406e40fd4980..ae8568705e75d2 100644 --- a/versions/g-/gtk3.json +++ b/versions/g-/gtk3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "58162a3fa851d5634818c1e4c86980882a8a80d3", + "version": "3.24.43", + "port-version": 0 + }, { "git-tree": "f26f170ffcbb0ef113b90d3e8c5628bb489c103f", "version": "3.24.38", From 77115a2488e7817b99d88c9dffd66bc522661908 Mon Sep 17 00:00:00 2001 From: Daniele Pallastrelli <5451767+daniele77@users.noreply.github.com> Date: Thu, 30 Jan 2025 23:20:31 +0100 Subject: [PATCH 31/35] [aricpp] update to 1.2.1 (#43502) Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Co-authored-by: Cheney-Wang <850426846@qq.com> --- ports/aricpp/portfile.cmake | 4 ++-- ports/aricpp/vcpkg.json | 2 +- versions/a-/aricpp.json | 5 +++++ versions/baseline.json | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/aricpp/portfile.cmake b/ports/aricpp/portfile.cmake index 5f51f87f294fc5..dea44aaaaf0bf4 100644 --- a/ports/aricpp/portfile.cmake +++ b/ports/aricpp/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO daniele77/aricpp - REF v1.1.3 - SHA512 5b4c2829177f338f46f5d48baee8d3dd35bdce11780ed1b4b20ddb738573d12227982574877be8f9a8cea355e202cac97eb85a16fd582d2e348a9404b34467fd + REF v1.2.1 + SHA512 7070d2a4e69e9490445002244b532e2fb519bd0642e8d1f4a6e267b9d957274db7c370038c225349c4997b1e2e5c549b0a4fa19c1db30c4ea184de37ca8b9b4b HEAD_REF master ) diff --git a/ports/aricpp/vcpkg.json b/ports/aricpp/vcpkg.json index 53e52cea351ae5..775794e229c99e 100644 --- a/ports/aricpp/vcpkg.json +++ b/ports/aricpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "aricpp", - "version-semver": "1.1.3", + "version-semver": "1.2.1", "description": "Asterisk ARI interface bindings for modern C++", "homepage": "https://github.com/daniele77/aricpp", "license": "BSL-1.0", diff --git a/versions/a-/aricpp.json b/versions/a-/aricpp.json index 971c60c8dd5880..af43eca5b499ec 100644 --- a/versions/a-/aricpp.json +++ b/versions/a-/aricpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1523a3ad172ccb2b680be8041c78e5a50684ae1c", + "version-semver": "1.2.1", + "port-version": 0 + }, { "git-tree": "4451f34c43a23dd8ab8904c8bbdbd12f462b1da9", "version-semver": "1.1.3", diff --git a/versions/baseline.json b/versions/baseline.json index bda91c2df75e40..e4a8c59323457d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -229,7 +229,7 @@ "port-version": 0 }, "aricpp": { - "baseline": "1.1.3", + "baseline": "1.2.1", "port-version": 0 }, "armadillo": { From 9a8dc16d0bce835d7127c5a54355072c09a12b7a Mon Sep 17 00:00:00 2001 From: talregev Date: Fri, 31 Jan 2025 00:25:12 +0200 Subject: [PATCH 32/35] [mujoco] Update to 3.2.7 (#43496) --- ports/mujoco/fix_dependencies.patch | 65 ++++++++++++++++++++++------- ports/mujoco/mesh.patch | 51 ++++++++++++++++++++++ ports/mujoco/portfile.cmake | 3 +- ports/mujoco/vcpkg.json | 5 ++- versions/baseline.json | 4 +- versions/m-/mujoco.json | 5 +++ 6 files changed, 113 insertions(+), 20 deletions(-) create mode 100644 ports/mujoco/mesh.patch diff --git a/ports/mujoco/fix_dependencies.patch b/ports/mujoco/fix_dependencies.patch index 418107114dabaf..317b045c90c560 100644 --- a/ports/mujoco/fix_dependencies.patch +++ b/ports/mujoco/fix_dependencies.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e34b07e..56ed5e8 100644 +index aaac4e38..58bafedb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -87,7 +87,7 @@ add_subdirectory(src/xml) - add_subdirectory(src/render) +@@ -95,7 +95,7 @@ add_subdirectory(src/render) + add_subdirectory(src/thread) add_subdirectory(src/ui) --target_compile_definitions(mujoco PRIVATE _GNU_SOURCE CCD_STATIC_DEFINE MUJOCO_DLL_EXPORTS) -+target_compile_definitions(mujoco PRIVATE _GNU_SOURCE MUJOCO_DLL_EXPORTS) +-target_compile_definitions(mujoco PRIVATE _GNU_SOURCE CCD_STATIC_DEFINE MUJOCO_DLL_EXPORTS -DMC_IMPLEM_ENABLE) ++target_compile_definitions(mujoco PRIVATE _GNU_SOURCE MUJOCO_DLL_EXPORTS -DMC_IMPLEM_ENABLE) if(MUJOCO_ENABLE_AVX_INTRINSICS) target_compile_definitions(mujoco PUBLIC mjUSEPLATFORMSIMD) endif() -@@ -110,9 +110,9 @@ target_link_libraries( +@@ -118,9 +118,9 @@ target_link_libraries( mujoco PRIVATE ccd lodepng @@ -25,10 +25,10 @@ index e34b07e..56ed5e8 100644 set_target_properties( diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake -index 9c12ef7..af09f8a 100644 +index 23e4e71e..e4cfad28 100644 --- a/cmake/MujocoDependencies.cmake +++ b/cmake/MujocoDependencies.cmake -@@ -79,7 +79,7 @@ set(BUILD_SHARED_LIBS +@@ -90,7 +90,7 @@ set(BUILD_SHARED_LIBS CACHE INTERNAL "Build SHARED libraries" ) @@ -37,10 +37,20 @@ index 9c12ef7..af09f8a 100644 FetchContent_Declare( lodepng GIT_REPOSITORY https://github.com/lvandeve/lodepng.git -@@ -99,35 +99,57 @@ if(NOT TARGET lodepng) +@@ -110,6 +110,7 @@ if(NOT TARGET lodepng) endif() endif() ++if(0) + if(NOT TARGET marchingcubecpp) + FetchContent_Declare( + marchingcubecpp +@@ -123,36 +124,60 @@ if(NOT TARGET marchingcubecpp) + include_directories(${marchingcubecpp_SOURCE_DIR}) + endif() + endif() ++endif() ++ +findorfetch( + USE_SYSTEM_PACKAGE + ON @@ -56,7 +66,7 @@ index 9c12ef7..af09f8a 100644 + lodepng + EXCLUDE_FROM_ALL +) -+ + set(QHULL_ENABLE_TESTING OFF) findorfetch( @@ -90,6 +100,7 @@ index 9c12ef7..af09f8a 100644 + +include_directories( + ${Qhull_DIR}/../../include/libqhull_r ++ ${Qhull_DIR}/../../include/marchingcubecpp +) set(tinyxml2_BUILD_TESTING OFF) @@ -100,7 +111,7 @@ index 9c12ef7..af09f8a 100644 PACKAGE_NAME tinyxml2 LIBRARY_NAME -@@ -140,12 +162,14 @@ findorfetch( +@@ -165,12 +190,14 @@ findorfetch( tinyxml2 EXCLUDE_FROM_ALL ) @@ -116,7 +127,31 @@ index 9c12ef7..af09f8a 100644 PACKAGE_NAME tinyobjloader LIBRARY_NAME -@@ -163,7 +187,7 @@ set(ENABLE_DOUBLE_PRECISION ON) +@@ -189,9 +216,9 @@ option(SDFLIB_USE_OPENMP OFF) + option(SDFLIB_USE_ENOKI OFF) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME +- sdflib ++ SdfLib + LIBRARY_NAME + sdflib + GIT_REPO +@@ -202,14 +229,19 @@ findorfetch( + SdfLib + EXCLUDE_FROM_ALL + ) ++ ++add_library(SdfLib ALIAS SdfLib::SdfLib) ++ ++if(0) + target_compile_options(SdfLib PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(SdfLib PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() + + set(ENABLE_DOUBLE_PRECISION ON) set(CCD_HIDE_ALL_SYMBOLS ON) findorfetch( USE_SYSTEM_PACKAGE @@ -125,7 +160,7 @@ index 9c12ef7..af09f8a 100644 PACKAGE_NAME ccd LIBRARY_NAME -@@ -176,11 +200,14 @@ findorfetch( +@@ -222,11 +254,14 @@ findorfetch( ccd EXCLUDE_FROM_ALL ) @@ -140,7 +175,7 @@ index 9c12ef7..af09f8a 100644 if(WIN32) if(MSVC) # C4005 is the MSVC equivalent of -Wmacro-redefined. -@@ -189,6 +216,7 @@ if(WIN32) +@@ -235,6 +270,7 @@ if(WIN32) target_compile_options(ccd PRIVATE -Wno-macro-redefined) endif() endif() @@ -149,7 +184,7 @@ index 9c12ef7..af09f8a 100644 if(MUJOCO_BUILD_TESTS) set(ABSL_PROPAGATE_CXX_STD ON) diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake -index fa539c2..8b3b239 100644 +index 5141406c..41f399b7 100644 --- a/simulate/cmake/SimulateDependencies.cmake +++ b/simulate/cmake/SimulateDependencies.cmake @@ -86,7 +86,7 @@ findorfetch( diff --git a/ports/mujoco/mesh.patch b/ports/mujoco/mesh.patch new file mode 100644 index 00000000000000..6b2c03eda03c7b --- /dev/null +++ b/ports/mujoco/mesh.patch @@ -0,0 +1,51 @@ +diff --git a/src/user/user_mesh.cc b/src/user/user_mesh.cc +index 4de4e2e3..e8bd6968 100644 +--- a/src/user/user_mesh.cc ++++ b/src/user/user_mesh.cc +@@ -61,7 +61,6 @@ + #include "user/user_objects.h" + #include "user/user_resource.h" + #include "user/user_util.h" +-#include + + extern "C" { + #include "qhull_ra.h" +@@ -397,7 +396,7 @@ void mjCMesh::CacheMesh(mjCCache* cache, const mjResource* resource, + + (sizeof(int) * vertex_index_.size()) + + (sizeof(int) * normal_index_.size()) + + (sizeof(int) * texcoord_index_.size()) +- + (sizeof(unsigned char) * num_face_vertices_.size()); ++ + (sizeof(face_vertices_type) * num_face_vertices_.size()); + + std::shared_ptr cached_data(mesh, +[](const void* data) { + const mjCMesh* mesh = static_cast(data); +diff --git a/src/user/user_objects.h b/src/user/user_objects.h +index bf11a7be..59fcdaf8 100644 +--- a/src/user/user_objects.h ++++ b/src/user/user_objects.h +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -32,6 +33,8 @@ + #include "user/user_cache.h" + #include "user/user_util.h" + ++using face_vertices_type = decltype(tinyobj::mesh_t::num_face_vertices)::value_type; ++ + // forward declarations of all mjC/X classes + class mjCError; + class mjCBase; +@@ -964,7 +967,7 @@ class mjCMesh: public mjCMesh_, private mjsMesh { + std::vector vertex_index_; + std::vector normal_index_; + std::vector texcoord_index_; +- std::vector num_face_vertices_; ++ std::vector num_face_vertices_; + + // compute the volume and center-of-mass of the mesh given the face center + void ComputeVolume(double CoM[3], mjtGeomInertia gtype, const double facecen[3]); diff --git a/ports/mujoco/portfile.cmake b/ports/mujoco/portfile.cmake index b872c05589ba0d..ee4196b94b4426 100644 --- a/ports/mujoco/portfile.cmake +++ b/ports/mujoco/portfile.cmake @@ -2,9 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO deepmind/mujoco REF ${VERSION} - SHA512 518b9ae09ea7cd4d2095df1be985a30957c6d57846933e111c326e45b61ac002bea014cd0d7902653c85e61ef0ba156b3324eff0edb5613467fe8e07e92dd6da + SHA512 db8b80b33a8a2cf08d5cb70114def49cf529f0a05de379e303086d73e9dd652ed0a4839a1ea8bba79e9a7f7d05421d7c34bfa47b128d444fbb83c3831b87e1c3 PATCHES fix_dependencies.patch + mesh.patch ) vcpkg_cmake_configure( diff --git a/ports/mujoco/vcpkg.json b/ports/mujoco/vcpkg.json index ab0a312e22cd2f..253fb3780647cf 100644 --- a/ports/mujoco/vcpkg.json +++ b/ports/mujoco/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mujoco", - "version": "2.3.2", - "port-version": 1, + "version": "3.2.7", "description": "Multi-Joint dynamics with Contact.", "homepage": "https://mujoco.org", "license": "Apache-2.0", @@ -15,7 +14,9 @@ }, "glfw3", "lodepng", + "marchingcubecpp", "qhull", + "sdflib", "tinyobjloader", "tinyxml2", { diff --git a/versions/baseline.json b/versions/baseline.json index e4a8c59323457d..77a20983d8568e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6197,8 +6197,8 @@ "port-version": 0 }, "mujoco": { - "baseline": "2.3.2", - "port-version": 1 + "baseline": "3.2.7", + "port-version": 0 }, "mujs": { "baseline": "1.3.5", diff --git a/versions/m-/mujoco.json b/versions/m-/mujoco.json index 6a226880519427..6894477c17f252 100644 --- a/versions/m-/mujoco.json +++ b/versions/m-/mujoco.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5d1390fd33f3bf4d3b3a212a9cf7614b55aa5973", + "version": "3.2.7", + "port-version": 0 + }, { "git-tree": "c70b9104b75fe8947ddac6e9450207cadb59cb0b", "version": "2.3.2", From 6397c71e7d3522b29c765c21a5cd269049cccf78 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Fri, 31 Jan 2025 01:25:33 +0300 Subject: [PATCH 33/35] [libosmium] update to v2.21 (#43493) Co-authored-by: Kai Pastor --- ports/libosmium/portfile.cmake | 2 +- ports/libosmium/vcpkg.json | 3 +-- versions/baseline.json | 4 ++-- versions/l-/libosmium.json | 5 +++++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ports/libosmium/portfile.cmake b/ports/libosmium/portfile.cmake index 719d98c994480e..caf87883a58fbe 100644 --- a/ports/libosmium/portfile.cmake +++ b/ports/libosmium/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO osmcode/libosmium REF "v${VERSION}" - SHA512 72e881e221dc3e62d7459b5cd84bf65de4fc0149bed66fe0534107d0d4dc30e5d474df685b44af07e6065a690dd7b31b877b5b040b8e0b4b0b971738175c34a3 + SHA512 fb87d5ae37c6d864ba1b265bda8e8a213fe9714d4e3cc47bd87ec05d07b9007494d37752ec4223bc5a2d957eac090d752d71f1944cb5200ae3d4af8ac97b9e10 ) vcpkg_cmake_configure( diff --git a/ports/libosmium/vcpkg.json b/ports/libosmium/vcpkg.json index e526a2e40f3716..54ce77d9950767 100644 --- a/ports/libosmium/vcpkg.json +++ b/ports/libosmium/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libosmium", - "version-semver": "2.20.0", - "port-version": 1, + "version-semver": "2.21.0", "description": "A fast and flexible C++ library for working with OpenStreetMap data", "homepage": "https://osmcode.org/libosmium/", "license": "BSL-1.0", diff --git a/versions/baseline.json b/versions/baseline.json index 77a20983d8568e..e6f2cea7f797de 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4945,8 +4945,8 @@ "port-version": 1 }, "libosmium": { - "baseline": "2.20.0", - "port-version": 1 + "baseline": "2.21.0", + "port-version": 0 }, "libosmscout": { "baseline": "1.1.1", diff --git a/versions/l-/libosmium.json b/versions/l-/libosmium.json index 702721ca4eb75a..e60d0de28e7b1b 100644 --- a/versions/l-/libosmium.json +++ b/versions/l-/libosmium.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1521fd94a5060bf49f8aa9893bcea7daceb67093", + "version-semver": "2.21.0", + "port-version": 0 + }, { "git-tree": "4e43abda3d2ab79b2d813717eef1b330b390557f", "version-semver": "2.20.0", From e9c53cd6c198a5c16c2e249ae67f5a73aab84b17 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 07:25:50 +0900 Subject: [PATCH 34/35] [cpp-httplib] update to 0.18.5 (#43490) --- ports/cpp-httplib/portfile.cmake | 2 +- ports/cpp-httplib/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/c-/cpp-httplib.json | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/cpp-httplib/portfile.cmake b/ports/cpp-httplib/portfile.cmake index 8e8219aec60a0b..7cdec659df91bd 100644 --- a/ports/cpp-httplib/portfile.cmake +++ b/ports/cpp-httplib/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yhirose/cpp-httplib REF "v${VERSION}" - SHA512 d9eb70dfd8ebde658852d1a8cf9f96419ca11cad889b54672aa4812c0b5db0c3f1fddf63f536aec19fc4a849f41ed22461581a18f0733d3f906e45dd096bafd8 + SHA512 f4bcac52eac856acf6ae3e358f6a92b5f40c3afbf5f999172f0c93f1bc1d4b6414023f69dd078e1ea30e0f9f08a70501e441d4b087482049cd0d08823aac095d HEAD_REF master PATCHES fix-find-brotli.patch diff --git a/ports/cpp-httplib/vcpkg.json b/ports/cpp-httplib/vcpkg.json index f491c146935b51..46b338cd6ff488 100644 --- a/ports/cpp-httplib/vcpkg.json +++ b/ports/cpp-httplib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-httplib", - "version": "0.18.3", + "version": "0.18.5", "description": "A single file C++11 header-only HTTP/HTTPS server and client library", "homepage": "https://github.com/yhirose/cpp-httplib", "license": "MIT", diff --git a/versions/baseline.json b/versions/baseline.json index e6f2cea7f797de..9b16d64961a0aa 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1877,7 +1877,7 @@ "port-version": 0 }, "cpp-httplib": { - "baseline": "0.18.3", + "baseline": "0.18.5", "port-version": 0 }, "cpp-ipc": { diff --git a/versions/c-/cpp-httplib.json b/versions/c-/cpp-httplib.json index 68b181f4425d8d..45beb718c119b4 100644 --- a/versions/c-/cpp-httplib.json +++ b/versions/c-/cpp-httplib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "079f1aee247fcf2e85e3cf9c3e2d2cd007e0acb7", + "version": "0.18.5", + "port-version": 0 + }, { "git-tree": "52b0104621a26bed2eb36abb9a2806edbe2f6133", "version": "0.18.3", From d504de05dcd7b55df34976be1c824324ec6bca2b Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Thu, 30 Jan 2025 17:58:35 -0800 Subject: [PATCH 35/35] Delete handling for --x-use-aria2, avoid duplicate file hashing, and fix hash mismatch message. (#43418) --- scripts/cmake/vcpkg_download_distfile.cmake | 226 +++++------------- .../vcpkg_find_acquire_program(ARIA2).cmake | 8 - .../vcpkg-find-acquire-program/portfile.cmake | 3 +- scripts/vcpkg-tools.json | 18 -- 4 files changed, 60 insertions(+), 195 deletions(-) delete mode 100644 scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 6b6c64d2f9d4cc..a82d178097694f 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -1,93 +1,3 @@ -function(z_vcpkg_check_hash result file_path sha512) - file(SHA512 "${file_path}" file_hash) - string(TOLOWER "${sha512}" sha512_lower) - string(COMPARE EQUAL "${file_hash}" "${sha512_lower}" hash_match) - set("${result}" "${hash_match}" PARENT_SCOPE) -endfunction() - -function(z_vcpkg_download_distfile_test_hash file_path kind error_advice sha512 skip_sha512) - if(_VCPKG_INTERNAL_NO_HASH_CHECK) - # When using the internal hash skip, do not output an explicit message. - return() - endif() - if(skip_sha512) - message(STATUS "Skipping hash check for ${file_path}.") - return() - endif() - - set(hash_match OFF) - z_vcpkg_check_hash(hash_match "${file_path}" "${sha512}") - - if(NOT hash_match) - message(FATAL_ERROR - "\nFile does not have expected hash:\n" - " File path: [ ${file_path} ]\n" - " Expected hash: [ ${sha512} ]\n" - " Actual hash: [ ${file_hash} ]\n" - "${error_advice}\n") - endif() -endfunction() - -function(z_vcpkg_download_distfile_via_aria) - cmake_parse_arguments(PARSE_ARGV 1 arg - "SKIP_SHA512" - "FILENAME;SHA512" - "URLS;HEADERS" - ) - - message(STATUS "Downloading ${arg_FILENAME}...") - - vcpkg_list(SET headers_param) - foreach(header IN LISTS arg_HEADERS) - vcpkg_list(APPEND headers_param "--header=${header}") - endforeach() - - foreach(URL IN LISTS arg_URLS) - debug_message("Download Command: ${ARIA2} ${URL} -o temp/${filename} -l download-${filename}-detailed.log ${headers_param}") - vcpkg_execute_in_download_mode( - COMMAND ${ARIA2} ${URL} - -o temp/${arg_FILENAME} - -l download-${arg_FILENAME}-detailed.log - ${headers_param} - OUTPUT_FILE download-${arg_FILENAME}-out.log - ERROR_FILE download-${arg_FILENAME}-err.log - RESULT_VARIABLE error_code - WORKING_DIRECTORY "${DOWNLOADS}" - ) - - if ("${error_code}" STREQUAL "0") - break() - endif() - endforeach() - if (NOT "${error_code}" STREQUAL "0") - message(STATUS - "Downloading ${arg_FILENAME}... Failed.\n" - " Exit Code: ${error_code}\n" - " See logs for more information:\n" - " ${DOWNLOADS}/download-${arg_FILENAME}-out.log\n" - " ${DOWNLOADS}/download-${arg_FILENAME}-err.log\n" - " ${DOWNLOADS}/download-${arg_FILENAME}-detailed.log\n" - ) - z_vcpkg_download_distfile_show_proxy_and_fail("${error_code}") - else() - z_vcpkg_download_distfile_test_hash( - "${DOWNLOADS}/temp/${arg_FILENAME}" - "downloaded file" - "The file may have been corrupted in transit." - "${arg_SHA512}" - ${arg_SKIP_SHA512} - ) - file(REMOVE - ${DOWNLOADS}/download-${arg_FILENAME}-out.log - ${DOWNLOADS}/download-${arg_FILENAME}-err.log - ${DOWNLOADS}/download-${arg_FILENAME}-detailed.log - ) - get_filename_component(downloaded_file_dir "${downloaded_file_path}" DIRECTORY) - file(MAKE_DIRECTORY "${downloaded_file_dir}") - file(RENAME "${DOWNLOADS}/temp/${arg_FILENAME}" "${downloaded_file_path}") - endif() -endfunction() - function(vcpkg_download_distfile out_var) cmake_parse_arguments(PARSE_ARGV 1 arg "SKIP_SHA512;SILENT_EXIT;QUIET;ALWAYS_REDOWNLOAD" @@ -102,17 +12,19 @@ function(vcpkg_download_distfile out_var) message(FATAL_ERROR "vcpkg_download_distfile requires a FILENAME argument.") endif() if(arg_SILENT_EXIT) - message(WARNING "SILENT_EXIT has been deprecated as an argument to vcpkg_download_distfile -- remove the argument to resolve this warning") + message(WARNING "SILENT_EXIT no longer has any effect. To resolve this warning, remove SILENT_EXIT.") endif() + + # Note that arg_ALWAYS_REDOWNLOAD implies arg_SKIP_SHA512, and NOT arg_SKIP_SHA512 implies NOT arg_ALWAYS_REDOWNLOAD if(arg_ALWAYS_REDOWNLOAD AND NOT arg_SKIP_SHA512) - message(FATAL_ERROR "ALWAYS_REDOWNLOAD option requires SKIP_SHA512 as well") + message(FATAL_ERROR "ALWAYS_REDOWNLOAD requires SKIP_SHA512") endif() if(NOT arg_SKIP_SHA512 AND NOT DEFINED arg_SHA512) message(FATAL_ERROR "vcpkg_download_distfile requires a SHA512 argument. -If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") +If you do not know the SHA512, add it as 'SHA512 0' and retry.") elseif(arg_SKIP_SHA512 AND DEFINED arg_SHA512) - message(FATAL_ERROR "vcpkg_download_distfile must not be passed both SHA512 and SKIP_SHA512.") + message(FATAL_ERROR "SHA512 may not be used with SKIP_SHA512.") endif() if(_VCPKG_INTERNAL_NO_HASH_CHECK) @@ -128,108 +40,88 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") message(FATAL_ERROR "Invalid SHA512: ${arg_SHA512}. If you do not know the file's SHA512, set this to \"0\".") endif() + + string(TOLOWER "${arg_SHA512}" arg_SHA512) endif() endif() set(downloaded_file_path "${DOWNLOADS}/${arg_FILENAME}") - if(EXISTS "${downloaded_file_path}" AND NOT arg_SKIP_SHA512) - set(hash_match OFF) - z_vcpkg_check_hash(hash_match "${downloaded_file_path}" "${arg_SHA512}") - - if(NOT hash_match) + if(EXISTS "${downloaded_file_path}") + if(arg_SKIP_SHA512) + if(NOT arg_ALWAYS_REDOWNLOAD) + if(NOT _VCPKG_INTERNAL_NO_HASH_CHECK) + message(STATUS "Skipping hash check and using cached ${arg_FILENAME}") + endif() + + set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) + return() + endif() + else() + # Note that NOT arg_SKIP_SHA512 implies NOT arg_ALWAYS_REDOWNLOAD + file(SHA512 "${downloaded_file_path}" file_hash) + if("${file_hash}" STREQUAL "${arg_SHA512}") + message(STATUS "Using cached ${arg_FILENAME}") + set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) + return() + endif() + + # The existing file hash mismatches. Perhaps the expected SHA512 changed. Try adding the expected SHA512 + # into the file name and try again to hopefully not conflict. get_filename_component(filename_component "${arg_FILENAME}" NAME_WE) get_filename_component(extension_component "${arg_FILENAME}" EXT) get_filename_component(directory_component "${arg_FILENAME}" DIRECTORY) - string(SUBSTRING "${arg_SHA512}" 0 8 hash) set(arg_FILENAME "${directory_component}${filename_component}-${hash}${extension_component}") set(downloaded_file_path "${DOWNLOADS}/${arg_FILENAME}") + if(EXISTS "${downloaded_file_path}") + if(_VCPKG_NO_DOWNLOADS) + set(advice_message "note: Downloads are disabled. Please ensure that the expected file is placed at ${downloaded_file_path} and retry.") + else() + set(advice_message "note: You may be able to resolve this failure by redownloading the file. To do so, delete ${downloaded_file_path} and retry.") + endif() + + file(SHA512 "${downloaded_file_path}" file_hash) + if("${file_hash}" STREQUAL "${arg_SHA512}") + message(STATUS "Using cached ${arg_FILENAME}") + set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) + return() + endif() + + # Note that the extra leading spaces are here to prevent CMake from badly attempting to wrap this + message(FATAL_ERROR + " ${downloaded_file_path}: error: existing downloaded file had an unexpected hash\n" + " Expected: ${arg_SHA512}\n" + " Actual : ${file_hash}\n" + " ${advice_message}") + endif() endif() endif() - set(download_file_path_part "${DOWNLOADS}/temp/${arg_FILENAME}") - - # Works around issue #3399 - # Delete "temp0" directory created by the old version of vcpkg - file(REMOVE_RECURSE "${DOWNLOADS}/temp0") - file(REMOVE_RECURSE "${DOWNLOADS}/temp") - file(MAKE_DIRECTORY "${DOWNLOADS}/temp") - - # check if file with same name already exists in downloads - if(EXISTS "${downloaded_file_path}" AND NOT arg_ALWAYS_REDOWNLOAD) - set(advice_message "The cached file SHA512 doesn't match. The file may have been corrupted.") - if(_VCPKG_NO_DOWNLOADS) - string(APPEND advice_message " Downloads are disabled please provide a valid file at path ${downloaded_file_path} and retry.") - else() - string(APPEND advice_message " To re-download this file please delete cached file at path ${downloaded_file_path} and retry.") - endif() - - z_vcpkg_download_distfile_test_hash( - "${downloaded_file_path}" - "cached file" - "${advice_message}" - "${arg_SHA512}" - "${arg_SKIP_SHA512}" - ) - message(STATUS "Using cached ${arg_FILENAME}.") - endif() - # vcpkg_download_distfile_ALWAYS_REDOWNLOAD only triggers when NOT _VCPKG_NO_DOWNLOADS # this could be de-morgan'd out but it's more clear this way if(_VCPKG_NO_DOWNLOADS) - if(NOT EXISTS "${downloaded_file_path}") - message(FATAL_ERROR "Downloads are disabled, but '${downloaded_file_path}' does not exist.") - endif() - - set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) - return() + message(FATAL_ERROR "Downloads are disabled, but '${downloaded_file_path}' does not exist.") endif() - if(NOT arg_DISABLE_ARIA2 AND _VCPKG_DOWNLOAD_TOOL STREQUAL "ARIA2" AND NOT EXISTS "${downloaded_file_path}") - if (arg_SKIP_SHA512) - set(OPTION_SKIP_SHA512 "SKIP_SHA512") - endif() - z_vcpkg_download_distfile_via_aria( - "${OPTION_SKIP_SHA512}" - FILENAME "${arg_FILENAME}" - SHA512 "${arg_SHA512}" - URLS "${arg_URLS}" - HEADERS "${arg_HEADERS}" - ) - set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) - return() - endif() - - vcpkg_list(SET urls_param) + vcpkg_list(SET params "x-download" "${downloaded_file_path}") foreach(url IN LISTS arg_URLS) - vcpkg_list(APPEND urls_param "--url=${url}") + vcpkg_list(APPEND params "--url=${url}") endforeach() - vcpkg_list(SET headers_param) foreach(header IN LISTS arg_HEADERS) - list(APPEND headers_param "--header=${header}") + list(APPEND params "--header=${header}") endforeach() if(arg_SKIP_SHA512) - vcpkg_list(SET sha512_param "--skip-sha512") + vcpkg_list(APPEND params "--skip-sha512") else() - vcpkg_list(SET sha512_param "--sha512=${arg_SHA512}") + vcpkg_list(APPEND params "--sha512=${arg_SHA512}") endif() - if(NOT EXISTS "${downloaded_file_path}" OR arg_ALWAYS_REDOWNLOAD) - vcpkg_execute_in_download_mode( - COMMAND "$ENV{VCPKG_COMMAND}" x-download - "${downloaded_file_path}" - ${sha512_param} - ${urls_param} - ${headers_param} - RESULT_VARIABLE error_code - WORKING_DIRECTORY "${DOWNLOADS}" - ) - if(NOT "${error_code}" EQUAL "0") - message(FATAL_ERROR "Download failed, halting portfile.") - endif() + vcpkg_execute_in_download_mode(COMMAND "$ENV{VCPKG_COMMAND}" ${params} RESULT_VARIABLE error_code) + if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Download failed, halting portfile.") endif() set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) diff --git a/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake b/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake deleted file mode 100644 index 16153deffa5aa7..00000000000000 --- a/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake +++ /dev/null @@ -1,8 +0,0 @@ -set(program_name aria2c) -set(program_version 1.35.0) -if(CMAKE_HOST_WIN32) - set(paths_to_search "${DOWNLOADS}/tools/aria2c/aria2-${program_version}-win-32bit-build1") - set(download_urls "https://github.com/aria2/aria2/releases/download/release-${program_version}/aria2-${program_version}-win-32bit-build1.zip") - set(download_filename "aria2-${program_version}-win-32bit-build1.zip") - set(download_sha512 933537cad820b1cecf43a9eeca7e1b241dd7b1c902ee942441a166f2c38845f16046321efbdfa2f83c7e9fc50c7ecc5da6fd00e0c6e2124c07d3b783aa5092a4) -endif() diff --git a/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake b/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake index 084229301a2ac0..df8094aa29b665 100644 --- a/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake +++ b/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake @@ -33,9 +33,8 @@ if(VCPKG_HOST_IS_WINDOWS) file(REMOVE_RECURSE "${DOWNLOADS}/tools/nasm") file(MAKE_DIRECTORY "${DOWNLOADS}/tools/nasm") - list(APPEND variables 7Z ARIA2 CLANG DARK DOXYGEN GASPREPROCESSOR GO GPERF JOM NASM NUGET PYTHON2 RUBY SWIG) + list(APPEND variables 7Z CLANG DARK DOXYGEN GASPREPROCESSOR GO GPERF JOM NASM NUGET PYTHON2 RUBY SWIG) vcpkg_find_acquire_program(7Z) - vcpkg_find_acquire_program(ARIA2) vcpkg_find_acquire_program(CLANG) vcpkg_find_acquire_program(DARK) vcpkg_find_acquire_program(DOXYGEN) diff --git a/scripts/vcpkg-tools.json b/scripts/vcpkg-tools.json index 06f6e76bb87dda..813f9c3201a088 100644 --- a/scripts/vcpkg-tools.json +++ b/scripts/vcpkg-tools.json @@ -254,24 +254,6 @@ "url": "https://github.com/ip7z/7zip/releases/download/24.09/7zr.exe", "sha512": "44d8504a693ad4d6b79631b653fc19b572de6bbe38713b53c45d9c9d5d3710aa8df93ee867a2a24419ebe883b8255fd18f30f8cf374b2242145fd6acb2189659" }, - { - "name": "aria2", - "os": "windows", - "version": "1.37.0", - "executable": "aria2-1.37.0-win-64bit-build1/aria2c.exe", - "url": "https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0-win-64bit-build1.zip", - "sha512": "6d78405da9cf5639dbe8174787002161b8124d73880fb57cc8c0a3a63982f84e46df4e626990c58f23452965ad925f0d37cb9147e99b25c3d7ca0ea49602f34d", - "archive": "aria2-1.37.0-win-64bit-build1.zip" - }, - { - "name": "aria2", - "os": "osx", - "version": "1.35.0", - "executable": "aria2-1.35.0/bin/aria2c", - "url": "https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0-osx-darwin.tar.bz2", - "sha512": "3bb32b7d55347d1af37c6f4ebf0e20b38ce51c37a1baf92f7ad1762000539a03413dd679a6d902fdb1805fa71917300c9692aceee012eb06ecdff10491137aec", - "archive": "aria2-1.35.0-osx-darwin.tar.bz2" - }, { "name": "ninja", "os": "windows",