mirror of https://github.com/microsoft/vcpkg.git
Update macOS, switch to new M4 hardware (#53316)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
764ad0a297
commit
173a20135d
|
|
@ -93,6 +93,7 @@ else()
|
|||
--with-dblib=lmdb
|
||||
--with-gss_impl=mit
|
||||
--disable-macos-framework
|
||||
ac_cv_prog_cc_c23=no
|
||||
)
|
||||
vcpkg_make_install()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "cyrus-sasl",
|
||||
"version": "2.1.28",
|
||||
"port-version": 4,
|
||||
"port-version": 5,
|
||||
"description": "Cyrus SASL is an implementation of SASL that makes it easy for application developers to integrate authentication mechanisms into their application in a generic way.",
|
||||
"homepage": "https://github.com/cyrusimap/cyrus-sasl",
|
||||
"license": null,
|
||||
|
|
|
|||
|
|
@ -1,67 +1,67 @@
|
|||
set(DISTFILE_SHA512_HASH 4e92195fa058c707146f2690f3a38b46c33add948c852f67659ca005a6aa980bbf97be96528b0f8391690facb880ac2126cd60198c6c175e7f3f06cca7e29f9d)
|
||||
|
||||
vcpkg_download_distfile(
|
||||
DISTFILE
|
||||
FILENAME "glpk.tar.gz"
|
||||
URLS "https://ftpmirror.gnu.org/gnu/glpk/glpk-${VERSION}.tar.gz" "https://ftp.gnu.org/gnu/glpk/glpk-${VERSION}.tar.gz"
|
||||
SHA512 ${DISTFILE_SHA512_HASH}
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${DISTFILE}"
|
||||
PATCHES
|
||||
configure.ac.patch
|
||||
)
|
||||
|
||||
vcpkg_list(SET CONFIGURE_OPTIONS)
|
||||
if("dl" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-dl=dlfcn "LIBS=-ldl \$LIBS")
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-dl)
|
||||
endif()
|
||||
|
||||
if("gmp" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --with-gmp)
|
||||
string(APPEND requires " gmp")
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --without-gmp)
|
||||
endif()
|
||||
|
||||
if("mysql" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS
|
||||
--enable-mysql
|
||||
"CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include/mysql \$CPPFLAGS"
|
||||
)
|
||||
string(APPEND libs " -lmysql")
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-mysql)
|
||||
endif()
|
||||
|
||||
if("odbc" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-odbc)
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-odbc)
|
||||
endif()
|
||||
|
||||
vcpkg_configure_make(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
AUTOCONFIG
|
||||
NO_ADDITIONAL_PATHS
|
||||
DETERMINE_BUILD_TRIPLET
|
||||
OPTIONS
|
||||
${CONFIGURE_OPTIONS}
|
||||
)
|
||||
|
||||
vcpkg_install_make()
|
||||
set(libname glpk)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/glpk.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glpk.pc" @ONLY)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/glpk.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glpk.pc" @ONLY)
|
||||
endif()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_copy_tools(TOOL_NAMES glpsol AUTO_CLEAN)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
|
||||
set(DISTFILE_SHA512_HASH 4e92195fa058c707146f2690f3a38b46c33add948c852f67659ca005a6aa980bbf97be96528b0f8391690facb880ac2126cd60198c6c175e7f3f06cca7e29f9d)
|
||||
|
||||
vcpkg_download_distfile(
|
||||
DISTFILE
|
||||
FILENAME "glpk.tar.gz"
|
||||
URLS "https://ftpmirror.gnu.org/gnu/glpk/glpk-${VERSION}.tar.gz" "https://ftp.gnu.org/gnu/glpk/glpk-${VERSION}.tar.gz"
|
||||
SHA512 ${DISTFILE_SHA512_HASH}
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${DISTFILE}"
|
||||
PATCHES
|
||||
configure.ac.patch
|
||||
)
|
||||
|
||||
vcpkg_list(SET CONFIGURE_OPTIONS ac_cv_prog_cc_c23=no)
|
||||
if("dl" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-dl=dlfcn "LIBS=-ldl \$LIBS")
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-dl)
|
||||
endif()
|
||||
|
||||
if("gmp" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --with-gmp)
|
||||
string(APPEND requires " gmp")
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --without-gmp)
|
||||
endif()
|
||||
|
||||
if("mysql" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS
|
||||
--enable-mysql
|
||||
"CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include/mysql \$CPPFLAGS"
|
||||
)
|
||||
string(APPEND libs " -lmysql")
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-mysql)
|
||||
endif()
|
||||
|
||||
if("odbc" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-odbc)
|
||||
else()
|
||||
vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-odbc)
|
||||
endif()
|
||||
|
||||
vcpkg_configure_make(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
AUTOCONFIG
|
||||
NO_ADDITIONAL_PATHS
|
||||
DETERMINE_BUILD_TRIPLET
|
||||
OPTIONS
|
||||
${CONFIGURE_OPTIONS}
|
||||
)
|
||||
|
||||
vcpkg_install_make()
|
||||
set(libname glpk)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/glpk.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glpk.pc" @ONLY)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/glpk.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glpk.pc" @ONLY)
|
||||
endif()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_copy_tools(TOOL_NAMES glpsol AUTO_CLEAN)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
|
||||
"name": "glpk",
|
||||
"version": "5.0",
|
||||
"port-version": 3,
|
||||
"port-version": 4,
|
||||
"maintainers": "Fabio A. Correa Duran",
|
||||
"description": [
|
||||
"The GNU Linear Programming Kit (GLPK) solves large-scale linear programming (LP), mixed integer programming (MIP), and related problems.",
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
diff --git a/highs.pc.in b/highs.pc.in
|
||||
index 2ac74f4..fbd153d 100644
|
||||
--- a/highs.pc.in
|
||||
+++ b/highs.pc.in
|
||||
@@ -7,5 +7,5 @@ URL: https://github.com/ERGO-Code/HiGHS
|
||||
Version: @HIGHS_VERSION_MAJOR@.@HIGHS_VERSION_MINOR@.@HIGHS_VERSION_PATCH@
|
||||
Libs: -L${libdir} -lhighs
|
||||
-#TODO Libs.private (when HiGHS lib is build as static lib)
|
||||
Cflags: -I${includedir}
|
||||
Requires:
|
||||
+Requires.private: zlib
|
||||
diff --git a/highs.pc.in b/highs.pc.in
|
||||
index 4c00116..792ec17 100644
|
||||
--- a/highs.pc.in
|
||||
+++ b/highs.pc.in
|
||||
@@ -7,6 +7,6 @@ Description: Linear Optimization Software
|
||||
URL: https://github.com/ERGO-Code/HiGHS
|
||||
Version: @HIGHS_VERSION_MAJOR@.@HIGHS_VERSION_MINOR@.@HIGHS_VERSION_PATCH@
|
||||
Libs: -L${libdir} -lhighs
|
||||
-#TODO Libs.private (when HiGHS lib is build as static lib)
|
||||
Cflags: -I${includedir}
|
||||
Requires:
|
||||
+Requires.private: zlib
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ vcpkg_from_github(
|
|||
SHA512 0ea407784bc6c8e31c72fbcdcab201e8a7cc7debbca57504e74177658208151e90637e5fb1e0cdf1b1ae6b677e7865e77771ec025b17f8223f74d00fc6420546
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
respect-user-selected-compiler.patch
|
||||
fix-pkgconfig-zlib.patch
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 79ef1f0..6790d5c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -6,15 +6,6 @@
|
||||
# policies up to CMake 3.27
|
||||
cmake_minimum_required(VERSION 3.15...3.27)
|
||||
|
||||
-# set preference for clang compiler and intel compiler over gcc and other compilers
|
||||
-include(Platform/${CMAKE_SYSTEM_NAME}-Determine-C OPTIONAL)
|
||||
-include(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL)
|
||||
-set(CMAKE_C_COMPILER_NAMES clang gcc icx cc ${CMAKE_C_COMPILER_NAMES})
|
||||
-
|
||||
-include(Platform/${CMAKE_SYSTEM_NAME}-Determine-CXX OPTIONAL)
|
||||
-include(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL)
|
||||
-set(CMAKE_CXX_COMPILER_NAMES clang++ g++ icpx c++ ${CMAKE_CXX_COMPILER_NAMES})
|
||||
-
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
option(HIGHS_VCPKG "Vcpkg integration: " OFF)
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"name": "highs",
|
||||
"version": "1.15.1",
|
||||
"port-version": 1,
|
||||
"description": "High performance library to solve linear, mixed-integer, and convex quadratic optimization problems.",
|
||||
"homepage": "https://highs.dev",
|
||||
"license": "MIT AND BSD-3-Clause AND Zlib",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
diff --git a/src/configure.ac b/src/configure.ac
|
||||
index 4325fae..2865a26 100644
|
||||
--- a/src/configure.ac
|
||||
+++ b/src/configure.ac
|
||||
@@ -1,4 +1,6 @@
|
||||
-K5_AC_INIT([aclocal.m4])
|
||||
+AC_INIT(Kerberos 5, K5_VERSION, K5_BUGADDR, krb5)
|
||||
+AC_CONFIG_SRCDIR([aclocal.m4])
|
||||
+build_dynobj=no
|
||||
|
||||
# If $runstatedir isn't set by autoconf (<2.70), set it manually.
|
||||
if test x"$runstatedir" = x; then
|
||||
|
|
@ -7,6 +7,7 @@ vcpkg_from_github(
|
|||
PATCHES
|
||||
static-deps.diff
|
||||
define-des-zeroblock.diff
|
||||
autoconf-2.72.patch # https://github.com/krb5/krb5/commit/b7290e0cab5b7e39cd4aa7c098beb18a886d4a1d
|
||||
)
|
||||
|
||||
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
|
||||
"name": "krb5",
|
||||
"version": "1.22.2",
|
||||
"port-version": 1,
|
||||
"port-version": 2,
|
||||
"description": [
|
||||
"Kerberos is a network authentication protocol.",
|
||||
"It is designed to provide strong authentication for client/server applications by using secret-key cryptography.",
|
||||
|
|
|
|||
|
|
@ -4,13 +4,25 @@ vcpkg_download_distfile(ARCHIVE
|
|||
SHA512 907d98ea2bd2e2a43604243fc7fd6c252aa02c3fdd79e21f2a784adf821cb18107e6e23a25ad0c64329fbe84e859da5c807272759a8bcd85a37b929c80af4a13
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}")
|
||||
|
||||
vcpkg_configure_make(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${ARCHIVE}"
|
||||
)
|
||||
|
||||
vcpkg_install_make()
|
||||
vcpkg_make_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
AUTORECONF
|
||||
OPTIONS
|
||||
ac_cv_prog_cc_c23=no
|
||||
)
|
||||
|
||||
set(install_options)
|
||||
if(VCPKG_CROSSCOMPILING)
|
||||
# Avoid using the host strip tool on cross-compiled target binaries.
|
||||
list(APPEND install_options "INSTALL_PROGRAM='$(INSTALL)'")
|
||||
endif()
|
||||
|
||||
vcpkg_make_install(OPTIONS ${install_options})
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
{
|
||||
"name": "libtar",
|
||||
"version": "1.2.20",
|
||||
"port-version": 1,
|
||||
"port-version": 2,
|
||||
"description": "libtar - C library for manipulating tar files",
|
||||
"homepage": "https://repo.or.cz/libtar.git",
|
||||
"supports": "!windows"
|
||||
"supports": "!windows",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-make",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,117 +1,117 @@
|
|||
vcpkg_from_gitlab(
|
||||
GITLAB_URL https://git.lysator.liu.se/
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO nettle/nettle
|
||||
REF nettle_3.10_release_20240616
|
||||
SHA512 8767e4f0c34ce76ead5d66f06f97e6b184d439fa94f848ee440196fafde3da2ea7cfc54f9bd8f9ab6a99929b0d14b3d5a28857e05d954551e94b619598c17659
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
subdirs.patch
|
||||
fix-libdir.patch
|
||||
compile.patch
|
||||
host-tools.patch
|
||||
ccas.patch
|
||||
msvc-support.patch
|
||||
)
|
||||
|
||||
vcpkg_cmake_get_vars(cmake_vars_file)
|
||||
include("${cmake_vars_file}")
|
||||
|
||||
# Maintainer switch: Temporarily set this to 1 to re-generate the lists
|
||||
# of exported symbols. This is needed when the version is bumped.
|
||||
set(GENERATE_SYMBOLS 0)
|
||||
if(GENERATE_SYMBOLS)
|
||||
if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC")
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
else()
|
||||
set(GENERATE_SYMBOLS 0)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_list(SET OPTIONS)
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND OPTIONS --enable-tools)
|
||||
endif()
|
||||
|
||||
# As in gmp
|
||||
set(disable_assembly OFF)
|
||||
set(ccas "")
|
||||
set(asmflags "")
|
||||
if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC")
|
||||
vcpkg_list(APPEND OPTIONS ac_cv_func_memset=yes)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
string(APPEND asmflags " --target=i686-pc-windows-msvc -m32")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
string(APPEND asmflags " --target=x86_64-pc-windows-msvc")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
string(APPEND asmflags " --target=arm64-pc-windows-msvc")
|
||||
else()
|
||||
set(disable_assembly ON)
|
||||
endif()
|
||||
if(NOT disable_assembly)
|
||||
vcpkg_find_acquire_program(CLANG)
|
||||
set(ccas "${CLANG}")
|
||||
endif()
|
||||
else()
|
||||
set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
|
||||
if(disable_assembly)
|
||||
vcpkg_list(APPEND OPTIONS "--enable-assembler=no")
|
||||
elseif(ccas)
|
||||
cmake_path(GET ccas PARENT_PATH ccas_dir)
|
||||
vcpkg_add_to_path("${ccas_dir}")
|
||||
cmake_path(GET ccas FILENAME ccas_command)
|
||||
vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASM_FLAGS=${asmflags}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_CROSSCOMPILING)
|
||||
set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
file(GLOB def_files "${CMAKE_CURRENT_LIST_DIR}/*.def")
|
||||
file(COPY ${def_files} DESTINATION "${SOURCE_PATH}")
|
||||
vcpkg_list(APPEND OPTIONS "MSVC_TARGET=${VCPKG_TARGET_ARCHITECTURE}")
|
||||
else()
|
||||
vcpkg_list(APPEND OPTIONS "MSVC_TARGET=no")
|
||||
endif()
|
||||
|
||||
vcpkg_configure_make(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
AUTOCONFIG
|
||||
OPTIONS
|
||||
${OPTIONS}
|
||||
--disable-documentation
|
||||
--disable-openssl
|
||||
"gmp_cv_prog_exeext_for_build=${VCPKG_HOST_EXECUTABLE_SUFFIX}"
|
||||
OPTIONS_DEBUG
|
||||
--disable-tools
|
||||
)
|
||||
vcpkg_install_make()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
if(NOT VCPKG_CROSSCOMPILING)
|
||||
set(tool_names desdata eccdata) # aes gcm sha twofish?
|
||||
list(TRANSFORM tool_names PREPEND "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
|
||||
list(TRANSFORM tool_names APPEND "${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
||||
file(COPY ${tool_names} DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
|
||||
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
|
||||
endif()
|
||||
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||
)
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYINGv3")
|
||||
|
||||
if(GENERATE_SYMBOLS)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/lib-to-def.cmake")
|
||||
lib_to_def(BASENAME nettle REGEX "_*nettle_")
|
||||
lib_to_def(BASENAME hogweed REGEX "_*nettle_")
|
||||
endif()
|
||||
vcpkg_from_gitlab(
|
||||
GITLAB_URL https://git.lysator.liu.se/
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO nettle/nettle
|
||||
REF nettle_3.10_release_20240616
|
||||
SHA512 8767e4f0c34ce76ead5d66f06f97e6b184d439fa94f848ee440196fafde3da2ea7cfc54f9bd8f9ab6a99929b0d14b3d5a28857e05d954551e94b619598c17659
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
subdirs.patch
|
||||
fix-libdir.patch
|
||||
compile.patch
|
||||
host-tools.patch
|
||||
ccas.patch
|
||||
msvc-support.patch
|
||||
)
|
||||
|
||||
vcpkg_cmake_get_vars(cmake_vars_file)
|
||||
include("${cmake_vars_file}")
|
||||
|
||||
# Maintainer switch: Temporarily set this to 1 to re-generate the lists
|
||||
# of exported symbols. This is needed when the version is bumped.
|
||||
set(GENERATE_SYMBOLS 0)
|
||||
if(GENERATE_SYMBOLS)
|
||||
if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC")
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
else()
|
||||
set(GENERATE_SYMBOLS 0)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_list(SET OPTIONS ac_cv_prog_cc_c23=no)
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND OPTIONS --enable-tools)
|
||||
endif()
|
||||
|
||||
# As in gmp
|
||||
set(disable_assembly OFF)
|
||||
set(ccas "")
|
||||
set(asmflags "")
|
||||
if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC")
|
||||
vcpkg_list(APPEND OPTIONS ac_cv_func_memset=yes)
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
string(APPEND asmflags " --target=i686-pc-windows-msvc -m32")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
string(APPEND asmflags " --target=x86_64-pc-windows-msvc")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
string(APPEND asmflags " --target=arm64-pc-windows-msvc")
|
||||
else()
|
||||
set(disable_assembly ON)
|
||||
endif()
|
||||
if(NOT disable_assembly)
|
||||
vcpkg_find_acquire_program(CLANG)
|
||||
set(ccas "${CLANG}")
|
||||
endif()
|
||||
else()
|
||||
set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
|
||||
if(disable_assembly)
|
||||
vcpkg_list(APPEND OPTIONS "--enable-assembler=no")
|
||||
elseif(ccas)
|
||||
cmake_path(GET ccas PARENT_PATH ccas_dir)
|
||||
vcpkg_add_to_path("${ccas_dir}")
|
||||
cmake_path(GET ccas FILENAME ccas_command)
|
||||
vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASM_FLAGS=${asmflags}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_CROSSCOMPILING)
|
||||
set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
file(GLOB def_files "${CMAKE_CURRENT_LIST_DIR}/*.def")
|
||||
file(COPY ${def_files} DESTINATION "${SOURCE_PATH}")
|
||||
vcpkg_list(APPEND OPTIONS "MSVC_TARGET=${VCPKG_TARGET_ARCHITECTURE}")
|
||||
else()
|
||||
vcpkg_list(APPEND OPTIONS "MSVC_TARGET=no")
|
||||
endif()
|
||||
|
||||
vcpkg_configure_make(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
AUTOCONFIG
|
||||
OPTIONS
|
||||
${OPTIONS}
|
||||
--disable-documentation
|
||||
--disable-openssl
|
||||
"gmp_cv_prog_exeext_for_build=${VCPKG_HOST_EXECUTABLE_SUFFIX}"
|
||||
OPTIONS_DEBUG
|
||||
--disable-tools
|
||||
)
|
||||
vcpkg_install_make()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
if(NOT VCPKG_CROSSCOMPILING)
|
||||
set(tool_names desdata eccdata) # aes gcm sha twofish?
|
||||
list(TRANSFORM tool_names PREPEND "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
|
||||
list(TRANSFORM tool_names APPEND "${VCPKG_HOST_EXECUTABLE_SUFFIX}")
|
||||
file(COPY ${tool_names} DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
|
||||
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
|
||||
endif()
|
||||
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||
)
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYINGv3")
|
||||
|
||||
if(GENERATE_SYMBOLS)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/lib-to-def.cmake")
|
||||
lib_to_def(BASENAME nettle REGEX "_*nettle_")
|
||||
lib_to_def(BASENAME hogweed REGEX "_*nettle_")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "nettle",
|
||||
"version": "3.10",
|
||||
"port-version": 1,
|
||||
"port-version": 2,
|
||||
"description": "Nettle is a low-level cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.",
|
||||
"homepage": "https://git.lysator.liu.se/nettle/nettle",
|
||||
"license": null,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/aux_/integral_wrapper.hpp b/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/aux_/integral_wrapper.hpp
|
||||
index 6bc05f7..f4e9acb 100644
|
||||
--- a/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/aux_/integral_wrapper.hpp
|
||||
+++ b/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/aux_/integral_wrapper.hpp
|
||||
@@ -56,7 +56,8 @@ struct AUX_WRAPPER_NAME
|
||||
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
|
||||
// while some other don't like 'value + 1' (Borland), and some don't like
|
||||
// either
|
||||
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
|
||||
+#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
|
||||
+ || __cplusplus >= 201103L
|
||||
private:
|
||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
|
||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
|
||||
|
|
@ -1,3 +1,10 @@
|
|||
message(STATUS "${PORT} has a spurious failure in which it is unable to create a parent directory! Just retry.")
|
||||
include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
|
||||
qt_submodule_installation(PATCHES missing-include.patch disable-enum-warning.patch add-stdint.diff add-float-cast.diff)
|
||||
qt_submodule_installation(
|
||||
PATCHES
|
||||
missing-include.patch
|
||||
disable-enum-warning.patch
|
||||
add-stdint.diff
|
||||
add-float-cast.diff
|
||||
fix-boost-mpl-constant-expression.patch
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"name": "qt5-location",
|
||||
"version": "5.15.19",
|
||||
"port-version": 1,
|
||||
"description": "The Qt Location API helps you create viable mapping solutions using the data available from some of the popular location services.",
|
||||
"license": null,
|
||||
"dependencies": [
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
diff --git a/src/external/s2/base/macros.h b/src/external/s2/base/macros.h
|
||||
index eaf28fe..d556332 100644
|
||||
--- a/src/external/s2/base/macros.h
|
||||
+++ b/src/external/s2/base/macros.h
|
||||
@@ -133,62 +133,13 @@ char (&ArraySizeHelper(const T (&array)[N]))[N];
|
||||
#define AS_STRING(x) AS_STRING_INTERNAL(x)
|
||||
#define AS_STRING_INTERNAL(x) #x
|
||||
|
||||
-
|
||||
-// One of the type traits, is_pod, makes it possible to query whether
|
||||
-// a type is a POD type. It is impossible for type_traits.h to get
|
||||
-// this right without compiler support, so it fails conservatively. It
|
||||
-// knows that fundamental types and pointers are PODs, but it can't
|
||||
-// tell whether user classes are PODs. The DECLARE_POD macro is used
|
||||
-// to inform the type traits library that a user class is a POD.
|
||||
-//
|
||||
-// Implementation note: the typedef at the end is just to make it legal
|
||||
-// to put a semicolon after DECLARE_POD(foo).
|
||||
-//
|
||||
-// The only reason this matters is that a few parts of the google3
|
||||
-// code base either require their template arguments to be PODs
|
||||
-// (e.g. compact_vector) or are able to use a more efficient code path
|
||||
-// when their template arguments are PODs (e.g. sparse_hash_map). You
|
||||
-// should use DECLARE_POD if you have written a class that you intend
|
||||
-// to use with one of those components, and if you know that your
|
||||
-// class satisfies all of the conditions to be a POD type.
|
||||
-//
|
||||
-// So what's a POD? The C++ standard (clause 9 paragraph 4) gives a
|
||||
-// full definition, but a good rule of thumb is that a struct is a POD
|
||||
-// ("plain old data") if it doesn't use any of the features that make
|
||||
-// C++ different from C. A POD struct can't have constructors,
|
||||
-// destructors, assignment operators, base classes, private or
|
||||
-// protected members, or virtual functions, and all of its member
|
||||
-// variables must themselves be PODs.
|
||||
-
|
||||
-#define DECLARE_POD(TypeName) \
|
||||
-namespace std { \
|
||||
-template<> struct is_pod<TypeName> : true_type { }; \
|
||||
-} \
|
||||
-typedef int Dummy_Type_For_DECLARE_POD \
|
||||
-
|
||||
-// We once needed a different technique to assert that a nested class
|
||||
-// is a POD. This is no longer necessary, and DECLARE_NESTED_POD is
|
||||
-// just a synonym for DECLARE_POD. We continue to provide
|
||||
-// DECLARE_NESTED_POD only so we don't have to change client
|
||||
-// code. Regardless of whether you use DECLARE_POD or
|
||||
-// DECLARE_NESTED_POD: use it after the outer class. Using it within a
|
||||
-// class definition will give a compiler error.
|
||||
+// These macros are a mess of undefined behavior that specialize std::is_pod to
|
||||
+// pretend that non-POD types are POD, which is both invalid and would do very
|
||||
+// broken things. Fortunately s2 internally does not actually rely on this and
|
||||
+// we can make them no-ops.
|
||||
+#define DECLARE_POD(TypeName)
|
||||
#define DECLARE_NESTED_POD(TypeName) DECLARE_POD(TypeName)
|
||||
-
|
||||
-// Declare that TemplateName<T> is a POD whenever T is
|
||||
-#define PROPAGATE_POD_FROM_TEMPLATE_ARGUMENT(TemplateName) \
|
||||
-namespace std { \
|
||||
-template <typename T> struct is_pod<TemplateName<T> > : std::is_trivial<T> { }; \
|
||||
-} \
|
||||
-typedef int Dummy_Type_For_PROPAGATE_POD_FROM_TEMPLATE_ARGUMENT
|
||||
-
|
||||
-// Macro that does nothing if TypeName is a POD, and gives a compiler
|
||||
-// error if TypeName is a non-POD. You should put a descriptive
|
||||
-// comment right next to the macro call so that people can tell what
|
||||
-// the compiler error is about.
|
||||
-//
|
||||
-// Implementation note: this works by taking the size of a type that's
|
||||
-// complete when TypeName is a POD and incomplete otherwise.
|
||||
+#define PROPAGATE_POD_FROM_TEMPLATE_ARGUMENT(TemplateName)
|
||||
|
||||
template <bool IsPod> struct ERROR_TYPE_MUST_BE_POD;
|
||||
template <> struct ERROR_TYPE_MUST_BE_POD<true> { };
|
||||
|
|
@ -8,6 +8,7 @@ vcpkg_from_github(
|
|||
UWP_index_set.patch
|
||||
fix-zlib.patch
|
||||
cstdlib.diff
|
||||
fix-s2-is-pod.patch # Based on https://github.com/realm/realm-core/commit/d8f21f9b98cae76e8dc235558c2f71ea27997f10
|
||||
)
|
||||
|
||||
vcpkg_list(SET REALMCORE_CMAKE_OPTIONS)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"name": "realm-core",
|
||||
"version": "14.14.0",
|
||||
"port-version": 1,
|
||||
"description": "Realm is a mobile database that runs directly inside phones, tablets or wearables.",
|
||||
"homepage": "https://github.com/realm/realm-core",
|
||||
"license": null,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/src/common/mathmisc.h b/src/common/mathmisc.h
|
||||
index d8bcc14..eece584 100644
|
||||
--- a/src/common/mathmisc.h
|
||||
+++ b/src/common/mathmisc.h
|
||||
@@ -24,6 +24,8 @@
|
||||
#ifndef RUBBERBAND_MATHMISC_H
|
||||
#define RUBBERBAND_MATHMISC_H
|
||||
|
||||
+#include <stddef.h>
|
||||
+
|
||||
#include "sysutils.h"
|
||||
|
||||
#ifndef M_PI
|
||||
|
|
@ -4,6 +4,8 @@ vcpkg_from_github(
|
|||
REF "v${VERSION}"
|
||||
SHA512 f581e900a71f78fde3361d2bed2fe165952c2ca087168c5f4e4994586bd832267eea58e0662a74b6a7430bc361fe80b5307b2ee6bf631a3561a8cba86e1cd3f2
|
||||
HEAD_REF default
|
||||
PATCHES
|
||||
fix-size-t.patch # https://github.com/breakfastquay/rubberband/pull/131
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "rubberband",
|
||||
"version": "4.0.0",
|
||||
"port-version": 1,
|
||||
"port-version": 2,
|
||||
"description": "A high quality software library for audio time-stretching and pitch-shifting.",
|
||||
"homepage": "https://www.breakfastquay.com/rubberband/",
|
||||
"license": "GPL-2.0-or-later",
|
||||
|
|
|
|||
|
|
@ -1,19 +1,46 @@
|
|||
# `vcpkg-eg-mac` VMs
|
||||
|
||||
This is the checklist for what the vcpkg team does when updating the macOS machines in the pool.
|
||||
|
||||
The hosts do not accept incoming SSH connections. Perform all host-side work in a terminal opened
|
||||
through the KVM. Use the KVM software's "paste from clipboard" function to transfer commands and
|
||||
short-lived credentials to the host. SSH commands in this document connect from the host to its
|
||||
guest VM, not from a developer workstation to the host.
|
||||
|
||||
Before publishing the VM update changes, update the Azure Agent URI in
|
||||
`scripts/azure-pipelines/osx/guest-prepare.sh` to the current version. You can find this by going to the
|
||||
agent pool, selecting "New agent", picking macOS, and copying the link. For example:
|
||||
https://download.agent.dev.azure.com/agent/5.277.0/vsts-agent-osx-arm64-5.277.0.tar.gz
|
||||
|
||||
Install and enable Homebrew on each host before cloning vcpkg:
|
||||
|
||||
```sh
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
```
|
||||
|
||||
Publish the changes to a fork and branch that the hosts can access. Keep a clone of
|
||||
`microsoft/vcpkg` on each host as `origin`, add the operator's fork as a separate remote, and check
|
||||
out the working revision to provide the scripts used by these instructions:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/microsoft/vcpkg ~/vcpkg
|
||||
git -C ~/vcpkg remote add <WORKING-REMOTE> https://github.com/<GITHUB-USER>/vcpkg
|
||||
git -C ~/vcpkg fetch <WORKING-REMOTE> <WORKING-BRANCH>
|
||||
git -C ~/vcpkg checkout --detach FETCH_HEAD
|
||||
```
|
||||
|
||||
For example, BillyONeal's fork should be added as remote `BillyONeal` with URL
|
||||
`https://github.com/BillyONeal/vcpkg`. Do not use `origin` for the working branch unless the changes
|
||||
have already been merged into `microsoft/vcpkg`. If the working branch is updated, repeat the
|
||||
`fetch` and detached `checkout` commands above on each host.
|
||||
|
||||
## Creating new base images
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- [ ] [macosvm](https://github.com/s-u/macosvm) allow-listed
|
||||
by macOS for arm64. Note that the directory 'Parallels' is still used when using `macosvm`
|
||||
just so that scripts know where to find the VM and friends.
|
||||
- [ ] An Xcode .xip - you can get this from Apple's developer website,
|
||||
although you'll need to sign in first: <https://developer.apple.com/downloads>
|
||||
If you are doing this from a local macos box, you can skip to the "update the macos host" step.
|
||||
- [ ] An Xcode Command Line Tools installer
|
||||
- [ ] PowerShell 7.x, Azure CLI, and `az login` with your Microsoft corp credentials
|
||||
- [ ] The matching macOS IPSW, Xcode 26.6 `.xip`, and Xcode 26.6 Command Line Tools `.dmg`
|
||||
uploaded to the `assets` container in the `vcpkgimageminting` storage account.
|
||||
- [ ] PowerShell 7.x, Azure CLI, and `az login` with your Microsoft corp credentials on a workstation
|
||||
that can mint SAS tokens for the storage account.
|
||||
|
||||
### Instructions (ARM64)
|
||||
|
||||
|
|
@ -21,27 +48,51 @@ This is the checklist for what the vcpkg team does when updating the macOS machi
|
|||
and delete one of the agents that are idle.
|
||||
- [ ] Go to that machine in the KVM. (Passwords are stored as secrets in the CPP_GITHUB\vcpkg\vcpkgmm-passwords key vault)
|
||||
- [ ] Update the macos host
|
||||
- [ ] (Once only) install `macosvm` to `~` (this tarball is also backed up in our `vcpkg-image-minting` storage account). For example from a dev workstation:
|
||||
- [ ] Prepare the host. This enables Homebrew, installs AzCopy if needed, and installs `macosvm` to `~`:
|
||||
```sh
|
||||
~/vcpkg/scripts/azure-pipelines/osx/host-prepare.sh
|
||||
```
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
curl -L -o macosvm-0.2-2-arm64-darwin21.tar.gz https://github.com/s-u/macosvm/releases/download/0.2-2/macosvm-0.2-2-arm64-darwin21.tar.gz
|
||||
tar xvf macosvm-0.2-2-arm64-darwin21.tar.gz
|
||||
rm macosvm-0.2-2-arm64-darwin21.tar.gz
|
||||
exit
|
||||
- [ ] On a workstation, generate download commands with short-lived, blob-scoped credentials for
|
||||
the matching IPSW, Xcode archive, and Command Line Tools installer in the `assets` container:
|
||||
```powershell
|
||||
function Get-AssetDownloadCommand {
|
||||
Param([Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string]$FileName)
|
||||
$accountName = 'vcpkgimageminting'
|
||||
$containerName = 'assets'
|
||||
$uNow = (Get-Date).ToUniversalTime()
|
||||
$start = $uNow.ToString('s') + 'Z'
|
||||
$expiry = $uNow.AddHours(1).ToString('s') + 'Z'
|
||||
$sas = az storage blob generate-sas --as-user --auth-mode login --account-name $accountName --container-name $containerName --name $FileName --permissions r --start $start --expiry $expiry --https-only --output tsv
|
||||
return "azcopy copy `"https://vcpkgimageminting.blob.core.windows.net/assets/$($FileName)?$($sas)`" `"$FileName`""
|
||||
}
|
||||
|
||||
Get-AssetDownloadCommand -FileName UniversalMac_26.6.1_25G76_Restore.ipsw
|
||||
Get-AssetDownloadCommand -FileName Xcode_26.6_Apple_silicon.xip
|
||||
Get-AssetDownloadCommand -FileName Command_Line_Tools_26.6_Apple_silicon.dmg
|
||||
```
|
||||
- [ ] Download the matching `.ipsw` for the macOS copy to install. See https://mrmacintosh.com/apple-silicon-m1-full-macos-restore-ipsw-firmware-files-database/ ; links there to find the .ipsw. Example:
|
||||
https://updates.cdn-apple.com/2026WinterFCS/fullrestores/122-28781/DCB2FF13-06CB-44C2-BCA2-DFCAF3521D46/UniversalMac_26.4.1_25E253_Restore.ipsw
|
||||
- [ ] Determine the VM name using the form "vcpkg-osx-<date>-arm64", for example "vcpkg-osx-2026-01-12-arm64".
|
||||
- [ ] Open a terminal and run the following commands to create the VM with vcpkg-osx-2026-01-12-arm64 and UniversalMac_26.4.1_25E253_Restore.ipsw replaced as appropriate. This must be run in the KVM as it uses a GUI:
|
||||
This creates a user-delegation SAS for each blob. Each credential is read-only, HTTPS-only, and
|
||||
valid for one hour. A SAS is not single-use and can be reused until it expires, so do not retain
|
||||
the generated commands after the downloads finish.
|
||||
If a matching IPSW has not yet been added to the container, use the
|
||||
[M4 Apple Silicon IPSW firmware database](https://mrmacintosh.com/apple-silicon-m1-full-macos-restore-ipsw-firmware-files-database/)
|
||||
to locate it and upload it first.
|
||||
- [ ] In the host's KVM terminal, change to `~`, then use the KVM software's "paste from
|
||||
clipboard" function to paste and run each generated command:
|
||||
```sh
|
||||
cd ~
|
||||
# Paste and run the three azcopy commands generated on the workstation.
|
||||
```
|
||||
mkdir -p ~/Parallels/vcpkg-osx-2026-01-12-arm64
|
||||
cd ~/Parallels/vcpkg-osx-2026-01-12-arm64
|
||||
~/macosvm --disk disk.img,size=500g --aux aux.img -c 8 -r 12g --restore ~/UniversalMac_26.4.1_25E253_Restore.ipsw ./vm.json
|
||||
- [ ] Determine the VM directory name using the form "vcpkg-osx-YYYY-MM-DD-arm64", for example "vcpkg-osx-2026-08-07-arm64".
|
||||
- [ ] Open a terminal and run the following commands to create the VM with vcpkg-osx-YYYY-MM-DD-arm64 and UniversalMac_26.6.1_25G76_Restore.ipsw replaced as appropriate. This must be run in the KVM as it uses a GUI:
|
||||
```
|
||||
mkdir -p ~/vcpkg-osx-YYYY-MM-DD-arm64
|
||||
cd ~/vcpkg-osx-YYYY-MM-DD-arm64
|
||||
~/macosvm --disk disk.img,size=500g,sync=none,cache=cached --aux aux.img -c 10 -r 18g --restore ~/UniversalMac_26.6.1_25G76_Restore.ipsw ./vm.json
|
||||
~/macosvm -g ./vm.json
|
||||
```
|
||||
- [ ] Follow prompts as you would on real hardware.
|
||||
* Set up as new.
|
||||
* Account name: vcpkg
|
||||
* Account name: builduser
|
||||
* A very similar password
|
||||
* Do not allow computer account password to be reset with your Apple Account.
|
||||
* Apple ID: 'Set Up Later' / Skip
|
||||
|
|
@ -52,38 +103,32 @@ This is the checklist for what the vcpkg team does when updating the macOS machi
|
|||
- [ ] Set the desktop wallpaper to a fixed color from Settings -> Wallpaper . (This makes the KVM a lot easier to use :) )
|
||||
- [ ] Disable automatic updates in the VM: Settings -> General -> Automatic Updates -> Disable them all
|
||||
- [ ] Enable remote login in the VM: Settings -> General -> Sharing -> Remote Login
|
||||
- [ ] Set the vcpkg user to be able to use sudo without a password, and install Xcode. For example from a dev workstation:
|
||||
```
|
||||
scp path/to/Xcode.xip vcpkg@HOSTMACHINE:/Users/vcpkg/Xcode.xip
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
rm ~/.ssh/known_hosts
|
||||
scp Xcode.xip vcpkg@vcpkgs-Virtual-Machine.local:/Users/vcpkg/Xcode.xip
|
||||
ssh vcpkg@vcpkgs-Virtual-Machine.local
|
||||
printf 'vcpkg\tALL=(ALL)\tNOPASSWD:\tALL\n' | sudo tee -a '/etc/sudoers.d/vcpkg'
|
||||
sudo chmod 0440 '/etc/sudoers.d/vcpkg'
|
||||
sudo mdutil -ad
|
||||
xip --expand Xcode.xip
|
||||
sudo mv Xcode.app /Applications/Xcode.app
|
||||
rm Xcode.xip
|
||||
exit
|
||||
- [ ] Install Xcode from the host's vcpkg clone. This prompts for the guest password to install an
|
||||
SSH key and enable passwordless sudo, then transfers and expands Xcode:
|
||||
```sh
|
||||
cd ~/vcpkg/scripts/azure-pipelines/osx
|
||||
./host-install-xcode.sh
|
||||
```
|
||||
- [ ] Open Xcode from Applications in the guest GUI. Uncheck the "code completion model" and accept the EULA.
|
||||
- [ ] Update the Azure Agent URI in setup-box.sh to the current version. You can find this by going to the agent pool, selecting "New agent", picking macOS, and copying the link. For example https://download.agent.dev.azure.com/agent/4.266.2/vsts-agent-osx-arm64-4.266.2.tar.gz
|
||||
- [ ] Copy setup-box.sh and the xcode installer renamed to 'clt.dmg' to the host. For example from a dev workstation:
|
||||
```
|
||||
scp ./setup-guest.sh vcpkg@HOSTMACHINE:/Users/vcpkg
|
||||
scp ./setup-box.sh vcpkg@HOSTMACHINE:/Users/vcpkg
|
||||
scp path/to/console/tools.dmg vcpkg@HOSTMACHINE:/Users/vcpkg/clt.dmg
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
chmod +x setup-guest.sh
|
||||
./setup-guest.sh
|
||||
rm setup-guest.sh
|
||||
rm setup-box.sh
|
||||
rm clt.dmg
|
||||
exit
|
||||
- [ ] After completing the Xcode GUI step, run the guest preparation script. It installs the Command
|
||||
Line Tools, build dependencies, and the Azure Pipelines agent:
|
||||
```sh
|
||||
cd ~/vcpkg/scripts/azure-pipelines/osx
|
||||
./host-prepare-guest.sh
|
||||
```
|
||||
- [ ] Shut down the VM cleanly.
|
||||
- [ ] Package the VM into a tarball and upload it to blob storage. From a dev workstation, get the azcopy command to do the upload with:
|
||||
- [ ] Delete the temporary installation assets from the host:
|
||||
```sh
|
||||
rm ~/UniversalMac_26.6.1_25G76_Restore.ipsw \
|
||||
~/Xcode_26.6_Apple_silicon.xip \
|
||||
~/Command_Line_Tools_26.6_Apple_silicon.dmg
|
||||
```
|
||||
- [ ] In the host's KVM terminal, package the VM into an archive:
|
||||
```sh
|
||||
cd ~
|
||||
aa archive -d vcpkg-osx-YYYY-MM-DD-arm64 -o vcpkg-osx-YYYY-MM-DD-arm64.aar -enable-holes
|
||||
```
|
||||
- [ ] In PowerShell on a workstation, generate the AzCopy upload command:
|
||||
```powershell
|
||||
function Get-AzCopyWriteCommand {
|
||||
Param([Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string]$FileName)
|
||||
|
|
@ -96,18 +141,10 @@ This is the checklist for what the vcpkg team does when updating the macOS machi
|
|||
return "azcopy copy --check-length=false `"$($FileName)`" `"https://vcpkgimageminting.blob.core.windows.net/pvms/$($FileName)?$($sas)`""
|
||||
}
|
||||
|
||||
Get-AzCopyWriteCommand -FileName vcpkg-osx-2026-01-12-arm64.aar
|
||||
Get-AzCopyWriteCommand -FileName vcpkg-osx-YYYY-MM-DD-arm64.aar
|
||||
```
|
||||
Then:
|
||||
```
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
cd ~/Parallels
|
||||
aa archive -d vcpkg-osx-<date>-arm64 -o vcpkg-osx-<date>-arm64.aar -enable-holes
|
||||
brew install azcopy
|
||||
# (The azcopy command line generated above)
|
||||
exit
|
||||
```
|
||||
- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues and create a new self hosted Agent pool named `PrOsx-YYYY-MM-DD-arm64` based on the current date. Grant microsoft.vcpkg.ci and microsoft.vcpkg.pr access.
|
||||
- [ ] Paste and run the generated AzCopy command in the host's KVM terminal.
|
||||
- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues and create a new self hosted Agent pool named `PrOsx-YYYY-MM-DD-arm64`. Grant microsoft.vcpkg.ci and microsoft.vcpkg.pr access.
|
||||
- [ ] Follow the "Deploying images" steps below for each machine in the fleet.
|
||||
|
||||
## Deploying images
|
||||
|
|
@ -119,15 +156,15 @@ Run these steps on each machine to add to the fleet. Skip steps that were done i
|
|||
- [ ] If this machine was used before, delete it from the pool of which it is a member from https://dev.azure.com/vcpkg/public/_settings/agentqueues
|
||||
- [ ] Log in to the machine using the KVM.
|
||||
- [ ] Check for software updates in macOS system settings
|
||||
- [ ] (Once only) install `macosvm` to `~` (this tarball is also backed up in our `vcpkg-image-minting` storage account). From a developer machine:
|
||||
- [ ] Ensure the host's vcpkg clone is at the published working revision, then prepare the host. This
|
||||
enables Homebrew, installs AzCopy if needed, and installs `macosvm` to `~`:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
curl -L -o macosvm-0.2-2-arm64-darwin21.tar.gz https://github.com/s-u/macosvm/releases/download/0.2-2/macosvm-0.2-2-arm64-darwin21.tar.gz
|
||||
tar xvf macosvm-0.2-2-arm64-darwin21.tar.gz
|
||||
rm macosvm-0.2-2-arm64-darwin21.tar.gz
|
||||
exit
|
||||
git -C ~/vcpkg fetch <WORKING-REMOTE> <WORKING-BRANCH>
|
||||
git -C ~/vcpkg checkout --detach FETCH_HEAD
|
||||
~/vcpkg/scripts/azure-pipelines/osx/host-prepare.sh
|
||||
```
|
||||
- [ ] Skip if this is the image building machine. Mint a SAS token URI to the box to use from the Azure portal if you don't already have one, and download the VM. (Recommend running this via SSH from domain joined machine due to containing SAS tokens). From a developer machine, get the azcopy command with:
|
||||
- [ ] Skip if this is the image building machine. In PowerShell on a workstation, mint a SAS token
|
||||
and generate the AzCopy command with:
|
||||
```powershell
|
||||
function Get-AzCopyReadCommand {
|
||||
Param([Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()][string]$FileName)
|
||||
|
|
@ -140,45 +177,43 @@ Run these steps on each machine to add to the fleet. Skip steps that were done i
|
|||
return "azcopy copy `"https://vcpkgimageminting.blob.core.windows.net/pvms/$($FileName)?$($sas)`" `"$($FileName)`""
|
||||
}
|
||||
|
||||
Get-AzCopyReadCommand -FileName vcpkg-osx-2026-01-12-arm64.aar
|
||||
Get-AzCopyReadCommand -FileName vcpkg-osx-YYYY-MM-DD-arm64.aar
|
||||
```
|
||||
Then run:
|
||||
In the host's KVM terminal, use the KVM software's "paste from clipboard" function to paste and
|
||||
run the generated command, then run:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
brew install azcopy
|
||||
mkdir -p ~/Parallels
|
||||
cd ~/Parallels
|
||||
# (The azcopy command line generated above)
|
||||
aa extract -d vcpkg-osx-<DATE>-arm64 -i ./vcpkg-osx-<DATE>-arm64.aar -enable-holes
|
||||
exit
|
||||
aa extract -d vcpkg-osx-YYYY-MM-DD-arm64 -i ./vcpkg-osx-YYYY-MM-DD-arm64.aar -enable-holes
|
||||
```
|
||||
- [ ] Open a separate terminal window on the host and start the VM by running:
|
||||
```sh
|
||||
cd ~/Parallels/vcpkg-osx-<DATE>-arm64
|
||||
cd ~/vcpkg-osx-YYYY-MM-DD-arm64
|
||||
~/macosvm ./vm.json
|
||||
```
|
||||
- [ ] Generate an access token to add the agent to the pool:
|
||||
- [ ] In PowerShell on a workstation, generate a short-lived access token to add the agent to the
|
||||
pool:
|
||||
```pwsh
|
||||
az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query accessToken --output tsv
|
||||
```
|
||||
- [ ] Copy the guest deploy script to the host, and run it with the access token/OAuth token from the `az account get-access-token` command above as the first parameter. From a developer machine pwsh:
|
||||
```pwsh
|
||||
scp register-guest.sh vcpkg@HOSTMACHINE:/Users/vcpkg/register-guest.sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
rm .ssh/known_hosts
|
||||
chmod +x register-guest.sh
|
||||
./register-guest.sh TOKEN-GOES-HERE AGENT-NUMBER-GOES-HERE
|
||||
rm register-guest.sh
|
||||
- [ ] In the host's KVM terminal, use the KVM software's "paste from clipboard" function to paste
|
||||
the short-lived access token into the guest deploy command from the vcpkg clone. The script
|
||||
accepts a host name in the form `vcpkg-m4-NNN` case-insensitively, registers the Azure DevOps
|
||||
agent as `VCPKG-M4-NNN`, and stops with an error if the host name or agent pool cannot be
|
||||
determined unambiguously:
|
||||
```sh
|
||||
~/vcpkg/scripts/azure-pipelines/osx/host-register-guest.sh TOKEN-GOES-HERE
|
||||
```
|
||||
- [ ] That will cleanly shut down the VM. In the KVM's terminal, relaunch the VM in ephemeral mode with:
|
||||
- [ ] After successful registration, the script will cleanly shut down the VM. If registration fails,
|
||||
the VM remains running for diagnosis. In the KVM's terminal, relaunch the successfully registered
|
||||
VM in ephemeral mode:
|
||||
```sh
|
||||
~/macosvm --ephemeral ./vm.json
|
||||
```
|
||||
- [ ] Open a terminal window on the host and run the agent
|
||||
```sh
|
||||
ssh -i ~/Parallels/*/id_guest vcpkg@vcpkgs-Virtual-Machine.local
|
||||
ssh -i ~/vcpkg-osx-*-arm64/id_guest builduser@buildusers-Virtual-Machine.local
|
||||
~/myagent/run.sh
|
||||
```
|
||||
- [ ] Check that the machine shows up in the pool, and lock the vcpkg user on the host.
|
||||
- [ ] Check that the machine shows up in the pool, and lock the current user account on the host.
|
||||
- [ ] Lock the screen on the host.
|
||||
- [ ] Update the "vcpkg Macs" spreadsheet line for the machine with the new pool.
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ jobs:
|
|||
- job: ${{ parameters.jobName }}
|
||||
condition: and(succeeded(), contains('^${{ replace(parameters.jobName, '_', '-') }}$', '${{ parameters.tripletPattern }}'))
|
||||
pool:
|
||||
name: PrOsx-2026-01-12-arm64
|
||||
name: PrOsx-2026-08-07-arm64
|
||||
workspace:
|
||||
clean: resources
|
||||
timeoutInMinutes: 2880 # 2 days
|
||||
|
|
@ -64,7 +64,7 @@ jobs:
|
|||
- task: UseNode@1
|
||||
displayName: 'Ensure Node.js is available'
|
||||
inputs:
|
||||
version: '22.x'
|
||||
version: '24.x'
|
||||
- bash: |
|
||||
cd scripts/azure-pipelines/owners-db && npm ci || true
|
||||
# Construct the blob base url using the secret SAS token set earlier
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
hdiutil attach clt.dmg -mountpoint /Volumes/setup-installer
|
||||
sudo installer -pkg "/Volumes/setup-installer/Command Line Tools.pkg" -target /
|
||||
hdiutil detach /Volumes/setup-installer
|
||||
rm clt.dmg
|
||||
sudo xcode-select -s /Applications/Xcode.app
|
||||
curl -fsSL -o "$HOME/Downloads/install-homebrew.sh" https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
|
||||
NONINTERACTIVE=1 /bin/bash "$HOME/Downloads/install-homebrew.sh"
|
||||
rm "$HOME/Downloads/install-homebrew.sh"
|
||||
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> "$HOME/.zprofile"
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
brew install autoconf-archive autoconf automake azcopy azure-cli bison cmake gettext gfortran gnu-sed gperf libtool meson nasm ninja pkg-config powershell
|
||||
mkdir "$HOME/Data"
|
||||
# NOTE: update this URI when publishing a VM update
|
||||
curl -fsSL -o "$HOME/Downloads/azure-agent.tar.gz" https://download.agent.dev.azure.com/agent/5.277.0/vsts-agent-osx-arm64-5.277.0.tar.gz
|
||||
mkdir "$HOME/myagent"
|
||||
tar xf "$HOME/Downloads/azure-agent.tar.gz" -C "$HOME/myagent"
|
||||
rm "$HOME/Downloads/azure-agent.tar.gz"
|
||||
rm guest-prepare.sh
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
VM_DIRECTORY=`ls "$HOME" | grep vcpkg-osx-`
|
||||
SSH_KEY="$HOME/$VM_DIRECTORY/id_guest"
|
||||
SSH_PUBLIC_KEY="$SSH_KEY.pub"
|
||||
|
||||
mkdir -p "$HOME/.ssh"
|
||||
touch "$HOME/.ssh/known_hosts"
|
||||
ssh-keygen -R buildusers-Virtual-Machine.local -f "$HOME/.ssh/known_hosts"
|
||||
ssh-keygen -P '' -f "$SSH_KEY"
|
||||
echo "Enter the guest builduser password to install the SSH key"
|
||||
ssh-copy-id -i "$SSH_PUBLIC_KEY" builduser@buildusers-Virtual-Machine.local
|
||||
echo "Enter the guest builduser password to enable passwordless sudo"
|
||||
ssh -t -i "$SSH_KEY" builduser@buildusers-Virtual-Machine.local \
|
||||
"printf 'builduser\tALL=(ALL)\tNOPASSWD:\tALL\n' | sudo tee /etc/sudoers.d/builduser >/dev/null && sudo chmod 0440 /etc/sudoers.d/builduser"
|
||||
scp -i "$SSH_KEY" "$HOME/Xcode_26.6_Apple_silicon.xip" builduser@buildusers-Virtual-Machine.local:Xcode.xip
|
||||
ssh -i "$SSH_KEY" builduser@buildusers-Virtual-Machine.local \
|
||||
"sudo mdutil -ad && xip --expand Xcode.xip && sudo mv Xcode.app /Applications/Xcode.app && rm Xcode.xip"
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
export VM_DIRECTORY=`ls "$HOME" | grep vcpkg-osx-`
|
||||
export SSH_KEY="$HOME/$VM_DIRECTORY/id_guest"
|
||||
ssh -i "$SSH_KEY" builduser@buildusers-Virtual-Machine.local echo hello from \`hostname\`
|
||||
scp -i "$SSH_KEY" "$HOME/Command_Line_Tools_26.6_Apple_silicon.dmg" builduser@buildusers-Virtual-Machine.local:clt.dmg
|
||||
scp -i "$SSH_KEY" ./guest-prepare.sh builduser@buildusers-Virtual-Machine.local:guest-prepare.sh
|
||||
ssh -i "$SSH_KEY" builduser@buildusers-Virtual-Machine.local chmod +x guest-prepare.sh
|
||||
ssh -i "$SSH_KEY" builduser@buildusers-Virtual-Machine.local ./guest-prepare.sh
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ ! -x /opt/homebrew/bin/brew ]; then
|
||||
echo "Homebrew must be installed on the host before running this script" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
grep -Fq '/opt/homebrew/bin/brew shellenv' "$HOME/.zprofile" 2>/dev/null || \
|
||||
printf '%s\n' 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> "$HOME/.zprofile"
|
||||
brew install azcopy
|
||||
|
||||
if [ ! -x "$HOME/macosvm" ]; then
|
||||
archive="$(mktemp)"
|
||||
curl -fL -o "$archive" https://github.com/s-u/macosvm/releases/download/0.2-3/macosvm-0.2-3-darwin21.tar.gz
|
||||
tar -xvf "$archive" -C "$HOME"
|
||||
rm "$archive"
|
||||
fi
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <token>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
HOST_NAME=$(hostname) || {
|
||||
echo "Failed to determine the host name" >&2
|
||||
exit 1
|
||||
}
|
||||
HOST_NAME=${HOST_NAME%%.*}
|
||||
HOST_NAME=$(printf '%s' "$HOST_NAME" | tr '[:lower:]' '[:upper:]')
|
||||
case "$HOST_NAME" in
|
||||
VCPKG-M4-[0-9][0-9][0-9]) ;;
|
||||
*)
|
||||
echo "Host name '$HOST_NAME' does not match required format 'VCPKG-M4-NNN'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
export AGENT=$HOST_NAME
|
||||
echo "THIS IS AGENT: $AGENT"
|
||||
export POOL=`echo "$HOME"/vcpkg-osx-*-arm64/ | sed -En 's/.+\/vcpkg-osx-([0-9]{4}-[0-9]{2}-[0-9]{2})-arm64\/$/PrOsx-\1-arm64/p'`
|
||||
case "$POOL" in
|
||||
PrOsx-[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]-arm64) ;;
|
||||
*)
|
||||
echo "Failed to determine exactly one agent pool from ~/vcpkg-osx-*-arm64" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
# on arm64, DNS works
|
||||
export SSH_COOKIE=builduser@buildusers-Virtual-Machine.local
|
||||
mkdir -p "$HOME/.ssh"
|
||||
touch "$HOME/.ssh/known_hosts"
|
||||
ssh-keygen -R buildusers-Virtual-Machine.local -f "$HOME/.ssh/known_hosts"
|
||||
echo "POOL: $POOL"
|
||||
echo "SSH_COOKIE: $SSH_COOKIE"
|
||||
ssh -o "StrictHostKeyChecking=no" -i "$HOME"/vcpkg-osx-*-arm64/id_guest "$SSH_COOKIE" "\$HOME/myagent/config.sh --unattended --url https://dev.azure.com/vcpkg --work \$HOME/Data/work --auth pat --token $1 --pool $POOL --agent $AGENT --replace --acceptTeeEula"
|
||||
ssh -o "StrictHostKeyChecking=no" -i "$HOME"/vcpkg-osx-*-arm64/id_guest "$SSH_COOKIE" "sudo shutdown -h now"
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/sh
|
||||
if [ -z "$1" ]; then
|
||||
echo "Token missing"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$2" ]; then
|
||||
echo "Agent number missing"
|
||||
exit 1
|
||||
fi
|
||||
export AGENT=CPPMAC-ARM64-$2
|
||||
echo "THIS IS AGENT: $AGENT"
|
||||
export POOL=`echo ~/Parallels/*/ | sed -nr 's/\/Users\/vcpkg\/Parallels\/vcpkg-osx-([0-9]{4}-[0-9]{2}-[0-9]{2})-arm64\/$/PrOsx-\1-arm64/p'`
|
||||
# on arm64, DNS works
|
||||
export SSH_COOKIE=vcpkg@vcpkgs-Virtual-Machine.local
|
||||
echo "POOL: $POOL"
|
||||
echo "SSH_COOKIE: $SSH_COOKIE"
|
||||
ssh $SSH_COOKIE -o "StrictHostKeyChecking=no" -i ~/Parallels/*/id_guest "~/myagent/config.sh --unattended --url https://dev.azure.com/vcpkg --work ~/Data/work --auth pat --token $1 --pool $POOL --agent $AGENT --replace --acceptTeeEula"
|
||||
ssh $SSH_COOKIE -o "StrictHostKeyChecking=no" -i ~/Parallels/*/id_guest "sudo shutdown -h now"
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
hdiutil attach clt.dmg -mountpoint /Volumes/setup-installer
|
||||
sudo installer -pkg "/Volumes/setup-installer/Command Line Tools.pkg" -target /
|
||||
hdiutil detach /Volumes/setup-installer
|
||||
rm clt.dmg
|
||||
sudo xcode-select -s /Applications/Xcode.app
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/vcpkg/.zprofile
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
brew install autoconf-archive autoconf automake azcopy azure-cli bison cmake gettext gfortran gnu-sed gperf gtk-doc libtool meson mono nasm ninja pkg-config powershell python-setuptools texinfo yasm
|
||||
mkdir ~/Data
|
||||
curl -s -o ~/Downloads/azure-agent.tar.gz https://download.agent.dev.azure.com/agent/4.266.2/vsts-agent-osx-arm64-4.266.2.tar.gz
|
||||
mkdir ~/myagent
|
||||
tar xf ~/Downloads/azure-agent.tar.gz -C ~/myagent
|
||||
rm ~/Downloads/azure-agent.tar.gz
|
||||
rm setup-box.sh
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/sh
|
||||
export VM_DIRECTORY=`ls ~/Parallels | grep vcpkg-osx`
|
||||
export SSH_KEY="$HOME/Parallels/$VM_DIRECTORY/id_guest"
|
||||
export SSH_PUBLIC_KEY="$SSH_KEY.pub"
|
||||
ssh-keygen -P '' -f "$SSH_KEY"
|
||||
echo Type 'vcpkg' and press enter
|
||||
ssh-copy-id -i "$SSH_PUBLIC_KEY" vcpkg@vcpkgs-Virtual-Machine.local
|
||||
echo Keys deployed
|
||||
ssh vcpkg@vcpkgs-Virtual-Machine.local -i "$SSH_KEY" echo hello from \`hostname\`
|
||||
scp -i "$SSH_KEY" ./clt.dmg vcpkg@vcpkgs-Virtual-Machine.local:/Users/vcpkg/clt.dmg
|
||||
scp -i "$SSH_KEY" ./setup-box.sh vcpkg@vcpkgs-Virtual-Machine.local:/Users/vcpkg/setup-box.sh
|
||||
ssh vcpkg@vcpkgs-Virtual-Machine.local -i "$SSH_KEY" chmod +x /Users/vcpkg/setup-box.sh
|
||||
ssh vcpkg@vcpkgs-Virtual-Machine.local -i "$SSH_KEY" /Users/vcpkg/setup-box.sh
|
||||
|
|
@ -53,6 +53,7 @@ backward-cpp:arm-neon-android=fail
|
|||
backward-cpp:arm64-android=fail
|
||||
backward-cpp:x64-android=fail
|
||||
bddisasm:arm64-linux=fail
|
||||
bde:arm64-osx=fail # https://github.com/bloomberg/bde-tools/issues/54
|
||||
berkeleydb:arm-neon-android=fail
|
||||
berkeleydb:arm64-android=fail
|
||||
berkeleydb:x64-android=fail
|
||||
|
|
@ -829,9 +830,6 @@ libressl:x64-windows-static-md=skip
|
|||
libressl:x64-windows-static=skip
|
||||
libressl:x64-windows=skip
|
||||
libressl:x86-windows=skip
|
||||
libtar:arm-neon-android=fail
|
||||
libtar:arm64-android=fail
|
||||
libtar:arm64-linux=fail
|
||||
libtomcrypt:arm64-windows-static-md=fail
|
||||
libtomcrypt:arm64-windows=fail
|
||||
libtorch:x86-windows=fail
|
||||
|
|
@ -1023,9 +1021,6 @@ qtwayland:arm64-osx=skip # Missing system libraries
|
|||
qtwebengine:arm64-android=fail
|
||||
qtwebengine:x64-android=fail
|
||||
quickjs-ng:arm64-linux=fail
|
||||
realm-core:arm-neon-android=fail # https://github.com/realm/realm-core/issues/8093
|
||||
realm-core:arm64-android=fail
|
||||
realm-core:x64-android=fail
|
||||
rendergraph:arm64-linux=fail
|
||||
restbed:arm64-linux=fail
|
||||
restbed:x64-linux=fail # requires c++23
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ awlib[graphics]:arm64-linux=cascade
|
|||
azure-kinect-sensor-sdk:arm64-linux=cascade
|
||||
babl[introspection]:arm64-linux=cascade
|
||||
bddisasm:arm64-linux=fail
|
||||
bde:arm64-osx=fail # https://github.com/bloomberg/bde-tools/issues/54
|
||||
bext-text:arm64-linux=pass
|
||||
bgfx:arm64-linux=fail
|
||||
bitserializer[rapidyaml-archive]:arm64-windows=cascade
|
||||
|
|
@ -374,8 +375,6 @@ glpk[dl]:arm64-linux=cascade
|
|||
glpk[dl](!windows | uwp)=cascade
|
||||
glpk[mysql]:arm64-linux=cascade
|
||||
glpk[mysql]:arm64-osx=cascade
|
||||
glpk[mysql]:arm64-windows=cascade
|
||||
glpk[mysql]:x86-windows=cascade
|
||||
glpk[odbc]:arm64-linux=cascade
|
||||
glpk[odbc](!windows | uwp)=cascade
|
||||
glui:arm64-linux=cascade
|
||||
|
|
@ -661,7 +660,6 @@ libressl:arm64-linux=skip
|
|||
libsbml[expat, libxml2]=options # have to select excatly one xml lib(they are features)
|
||||
libsmb2[krb5]:arm64-linux=cascade
|
||||
libssh[core,openssl,mbedtls]=options # we have to select feature openssl or mbedtls
|
||||
libtar:arm64-linux=fail
|
||||
libtcod[sdl]:arm64-linux=cascade
|
||||
libtomcrypt(arm & windows)=fail
|
||||
libtorch:x86-windows=fail
|
||||
|
|
@ -1259,9 +1257,6 @@ qwtw:x64-windows=cascade
|
|||
qzxing:arm64-linux=cascade
|
||||
raylib:arm64-linux=cascade
|
||||
raylib-cpp:arm64-linux=cascade
|
||||
realm-core:arm-neon-android=fail # https://github.com/realm/realm-core/issues/8093
|
||||
realm-core:arm64-android=fail
|
||||
realm-core:x64-android=fail
|
||||
realsense2:arm64-linux=cascade
|
||||
rendergraph:arm64-linux=fail
|
||||
restbed:arm64-linux=fail
|
||||
|
|
@ -1281,7 +1276,6 @@ rtabmap[opencv-cuda](!x64 | android | osx)=cascade
|
|||
rtabmap[openmp]:arm64-osx=feature-fails # No openmp on default osx toolchain
|
||||
rtaudio[pulse]:arm64-linux=cascade
|
||||
rtlsdr:arm64-linux=cascade
|
||||
rubberband:arm64-linux=cascade
|
||||
ryml:arm64-windows=cascade
|
||||
s2n=skip # builds too slow
|
||||
sail[jpegxl]:arm-neon-android=cascade
|
||||
|
|
|
|||
|
|
@ -2370,7 +2370,7 @@
|
|||
},
|
||||
"cyrus-sasl": {
|
||||
"baseline": "2.1.28",
|
||||
"port-version": 4
|
||||
"port-version": 5
|
||||
},
|
||||
"czmq": {
|
||||
"baseline": "4.2.1",
|
||||
|
|
@ -3510,7 +3510,7 @@
|
|||
},
|
||||
"glpk": {
|
||||
"baseline": "5.0",
|
||||
"port-version": 3
|
||||
"port-version": 4
|
||||
},
|
||||
"glslang": {
|
||||
"baseline": "16.4.0",
|
||||
|
|
@ -3850,7 +3850,7 @@
|
|||
},
|
||||
"highs": {
|
||||
"baseline": "1.15.1",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"highway": {
|
||||
"baseline": "1.4.0",
|
||||
|
|
@ -4618,7 +4618,7 @@
|
|||
},
|
||||
"krb5": {
|
||||
"baseline": "1.22.2",
|
||||
"port-version": 1
|
||||
"port-version": 2
|
||||
},
|
||||
"krpc": {
|
||||
"baseline": "0.6.0",
|
||||
|
|
@ -5782,7 +5782,7 @@
|
|||
},
|
||||
"libtar": {
|
||||
"baseline": "1.2.20",
|
||||
"port-version": 1
|
||||
"port-version": 2
|
||||
},
|
||||
"libtasn1": {
|
||||
"baseline": "4.19.0",
|
||||
|
|
@ -7102,7 +7102,7 @@
|
|||
},
|
||||
"nettle": {
|
||||
"baseline": "3.10",
|
||||
"port-version": 1
|
||||
"port-version": 2
|
||||
},
|
||||
"networkdirect-sdk": {
|
||||
"baseline": "2.0.1",
|
||||
|
|
@ -8322,7 +8322,7 @@
|
|||
},
|
||||
"qt5-location": {
|
||||
"baseline": "5.15.19",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"qt5-macextras": {
|
||||
"baseline": "5.15.19",
|
||||
|
|
@ -8798,7 +8798,7 @@
|
|||
},
|
||||
"realm-core": {
|
||||
"baseline": "14.14.0",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"realsense2": {
|
||||
"baseline": "2.56.5",
|
||||
|
|
@ -9042,7 +9042,7 @@
|
|||
},
|
||||
"rubberband": {
|
||||
"baseline": "4.0.0",
|
||||
"port-version": 1
|
||||
"port-version": 2
|
||||
},
|
||||
"ruckig": {
|
||||
"baseline": "0.17.3",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "cfd86e8f7f6c334cc47af6291cc22e234e68d36a",
|
||||
"version": "2.1.28",
|
||||
"port-version": 5
|
||||
},
|
||||
{
|
||||
"git-tree": "b8f1a9c198fe99f9c37b4ca305f86dfd365e4f37",
|
||||
"version": "2.1.28",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "2e4e4c4118efd08fdeafc707d9a1590539b84507",
|
||||
"version": "5.0",
|
||||
"port-version": 4
|
||||
},
|
||||
{
|
||||
"git-tree": "00933f2c7f77149899b7c69c6d09410fca7f5b1d",
|
||||
"version": "5.0",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "9ce6b8be37e9ea56e12b9dcbc5eb87895c0569cd",
|
||||
"version": "1.15.1",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "0c70fd2590487bd56505ed8824ae764063330728",
|
||||
"version": "1.15.1",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "d9285e6e0ec6ac29cd42d0df2f50191a05297942",
|
||||
"version": "1.22.2",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "95f4778a75c8e514f20fcabea74e41a2e2664f1f",
|
||||
"version": "1.22.2",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "6b7cb351ee5be6f5011e3bdf8898b49fe8123597",
|
||||
"version": "1.2.20",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "52ef8acf2b8ff12c21e9a52b9e0f0d14d050f97e",
|
||||
"version": "1.2.20",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "a09249e27abfa9283fe3117595f60d97950c3a09",
|
||||
"version": "3.10",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "8e33e188623d99135e4d6db52d98840da86ffc0d",
|
||||
"version": "3.10",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "f82ad6cd2215b194767cca1879dcb48df6ffc8ad",
|
||||
"version": "5.15.19",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "42e67aecbf59c47a6fa3159b8b58ad3ea8b71deb",
|
||||
"version": "5.15.19",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "5fe8525c282bc8b1ab2b1b24071131dbd3634f52",
|
||||
"version": "14.14.0",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "0b7c8987b46212a0064ac55102fdb71ae057a597",
|
||||
"version": "14.14.0",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "c3471671b12bd26c9c1ab2e555740b48e90d4645",
|
||||
"version": "4.0.0",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "7d948232485cc496cf6c92b9f09a2274a208db03",
|
||||
"version": "4.0.0",
|
||||
|
|
|
|||
Loading…
Reference in New Issue