mirror of https://github.com/microsoft/vcpkg.git
Update macOS for January 2025 (#43509)
This commit is contained in:
parent
c20509836a
commit
86c6a8232a
|
|
@ -0,0 +1,20 @@
|
|||
diff --git a/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h b/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h
|
||||
index 4562abf..8b1883b 100644
|
||||
--- a/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h
|
||||
+++ b/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h
|
||||
@@ -23,6 +23,9 @@
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
+#pragma clang diagnostic push
|
||||
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
+
|
||||
namespace juce
|
||||
{
|
||||
|
||||
@@ -302,3 +305,5 @@ private:
|
||||
};
|
||||
|
||||
} // namespace juce
|
||||
+
|
||||
+#pragma clang diagnostic pop
|
||||
|
|
@ -16,6 +16,7 @@ vcpkg_from_github(
|
|||
missing-modules.diff
|
||||
prefer-cmake.diff
|
||||
vcpkg-compile-definitions.diff
|
||||
avoid-macos-15-deprecations.patch
|
||||
)
|
||||
file(REMOVE_RECURSE "${SOURCE_PATH}/modules/juce_audio_devices/native/oboe")
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
|
||||
"name": "juce",
|
||||
"version": "8.0.4",
|
||||
"port-version": 1,
|
||||
"port-version": 2,
|
||||
"description": "Open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2 audio plug-ins and plug-in hosts",
|
||||
"homepage": "https://juce.com",
|
||||
"license": null,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
diff --git a/src/core/mtu_discovery.c b/src/core/mtu_discovery.c
|
||||
index a40c05c..8891efc 100644
|
||||
--- a/src/core/mtu_discovery.c
|
||||
+++ b/src/core/mtu_discovery.c
|
||||
@@ -34,8 +34,8 @@ Abstract:
|
||||
#include "mtu_discovery.c.clog.h"
|
||||
#endif
|
||||
|
||||
-CXPLAT_STATIC_ASSERT(CXPLAT_MAX_MTU >= QUIC_DPLPMTUD_DEFAULT_MAX_MTU, L"Default max must not be more than max");
|
||||
-CXPLAT_STATIC_ASSERT(QUIC_DPLPMTUD_MIN_MTU <= QUIC_DPLPMTUD_DEFAULT_MIN_MTU, L"Default min must not be less than min");
|
||||
+CXPLAT_STATIC_ASSERT(CXPLAT_MAX_MTU >= QUIC_DPLPMTUD_DEFAULT_MAX_MTU, "Default max must not be more than max");
|
||||
+CXPLAT_STATIC_ASSERT(QUIC_DPLPMTUD_MIN_MTU <= QUIC_DPLPMTUD_DEFAULT_MIN_MTU, "Default min must not be less than min");
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
static
|
||||
diff --git a/src/core/packet_builder.h b/src/core/packet_builder.h
|
||||
index 97d6079..912ce89 100644
|
||||
--- a/src/core/packet_builder.h
|
||||
+++ b/src/core/packet_builder.h
|
||||
@@ -158,7 +158,7 @@ typedef struct QUIC_PACKET_BUILDER {
|
||||
|
||||
CXPLAT_STATIC_ASSERT(
|
||||
sizeof(QUIC_PACKET_BUILDER) < 1024,
|
||||
- L"Packet builder should be small enough to fit on the stack.");
|
||||
+ "Packet builder should be small enough to fit on the stack.");
|
||||
|
||||
//
|
||||
// Initializes the packet builder for general use.
|
||||
diff --git a/src/core/quicdef.h b/src/core/quicdef.h
|
||||
index 219ef33..07956b5 100644
|
||||
--- a/src/core/quicdef.h
|
||||
+++ b/src/core/quicdef.h
|
||||
@@ -240,10 +240,10 @@ typedef struct QUIC_RX_PACKET QUIC_RX_PACKET;
|
||||
#define QUIC_MAX_RANGE_ACK_PACKETS 0x800 // 2048
|
||||
#define QUIC_MAX_RANGE_DECODE_ACKS 0x1000 // 4096
|
||||
|
||||
-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), L"Must be power of two");
|
||||
-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DUPLICATE_PACKETS), L"Must be power of two");
|
||||
-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ACK_PACKETS), L"Must be power of two");
|
||||
-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DECODE_ACKS), L"Must be power of two");
|
||||
+CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), "Must be power of two");
|
||||
+CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DUPLICATE_PACKETS), "Must be power of two");
|
||||
+CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ACK_PACKETS), "Must be power of two");
|
||||
+CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DECODE_ACKS), "Must be power of two");
|
||||
|
||||
//
|
||||
// Minimum MTU allowed to be configured. Must be able to fit a
|
||||
@@ -300,7 +300,7 @@ CXPLAT_STATIC_ASSERT(QUIC_INITIAL_PACKET_LENGTH >= QUIC_MIN_INITIAL_PACKET_LENGT
|
||||
|
||||
CXPLAT_STATIC_ASSERT(
|
||||
QUIC_DEFAULT_DISCONNECT_TIMEOUT <= QUIC_MAX_DISCONNECT_TIMEOUT,
|
||||
- L"Default disconnect timeout should always be less than max");
|
||||
+ "Default disconnect timeout should always be less than max");
|
||||
|
||||
//
|
||||
// The default connection idle timeout (in milliseconds).
|
||||
diff --git a/src/core/range.h b/src/core/range.h
|
||||
index b6d2cc0..ca6d3cd 100644
|
||||
--- a/src/core/range.h
|
||||
+++ b/src/core/range.h
|
||||
@@ -21,7 +21,7 @@ typedef struct QUIC_SUBRANGE {
|
||||
|
||||
} QUIC_SUBRANGE;
|
||||
|
||||
-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(sizeof(QUIC_SUBRANGE)), L"Must be power of two");
|
||||
+CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(sizeof(QUIC_SUBRANGE)), "Must be power of two");
|
||||
|
||||
typedef struct QUIC_RANGE_SEARCH_KEY {
|
||||
|
||||
|
|
@ -16,6 +16,7 @@ vcpkg_from_github(
|
|||
uwp-link-libs.diff
|
||||
exports-for-msh3.diff
|
||||
no-werror.patch
|
||||
avoid-w-invalid-unevaluated-string.patch
|
||||
)
|
||||
|
||||
set(QUIC_TLS "schannel")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "msquic",
|
||||
"version": "2.4.7",
|
||||
"port-version": 2,
|
||||
"port-version": 3,
|
||||
"description": "Cross-platform, C implementation of the IETF QUIC protocol",
|
||||
"homepage": "https://github.com/microsoft/msquic",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -12,10 +12,6 @@ if(VCPKG_TARGET_IS_ANDROID AND NOT ANDROID_SDK_ROOT)
|
|||
message(FATAL_ERROR "${PORT} requires ANDROID_SDK_ROOT to be set. Consider adding it to the triplet." )
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_OSX AND (NOT VCPKG_OSX_DEPLOYMENT_TARGET OR VCPKG_OSX_DEPLOYMENT_TARGET VERSION_GREATER_EQUAL "15.0"))
|
||||
message(WARNING "Qt6 does not yet cleanly support macOS 15.0, consider adding set(VCPKG_OSX_DEPLOYMENT_TARGET 14.0) or earlier to a custom triplet (https://learn.microsoft.com/en-us/vcpkg/users/examples/overlay-triplets-linux-dynamic#overriding-default-triplets).")
|
||||
endif()
|
||||
|
||||
function(qt_download_submodule_impl)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "SUBMODULE" "PATCHES")
|
||||
|
||||
|
|
@ -148,6 +144,10 @@ function(qt_cmake_configure)
|
|||
list(APPEND _qarg_OPTIONS "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
|
||||
list(APPEND _qarg_OPTIONS "-DCMAKE_OSX_DEPLOYMENT_TARGET=14")
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
${ninja_option}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"name": "qtbase",
|
||||
"version": "6.8.2",
|
||||
"port-version": 1,
|
||||
"description": "Qt Base (Core, Gui, Widgets, Network, ...)",
|
||||
"homepage": "https://www.qt.io/",
|
||||
"license": null,
|
||||
|
|
|
|||
|
|
@ -63,14 +63,14 @@ jobs:
|
|||
- template: osx/azure-pipelines.yml
|
||||
parameters:
|
||||
jobName: x64_osx
|
||||
poolName: 'PrOsx-2024-07-12'
|
||||
poolName: 'PrOsx-2025-01-24'
|
||||
vcpkgToolSha: ${{ parameters.vcpkgToolSha }}
|
||||
tripletPattern: ${{ parameters.tripletPattern }}
|
||||
|
||||
- template: osx/azure-pipelines.yml
|
||||
parameters:
|
||||
jobName: arm64_osx
|
||||
poolName: 'PrOsx-2024-07-12-arm64'
|
||||
poolName: 'PrOsx-2025-01-24-arm64'
|
||||
vcpkgToolSha: ${{ parameters.vcpkgToolSha }}
|
||||
tripletPattern: ${{ parameters.tripletPattern }}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,60 +23,62 @@ This is the checklist for what the vcpkg team does when updating the macOS machi
|
|||
- [ ] Update or install parallels
|
||||
- [ ] Download the macOS installer from the app store. See https://support.apple.com/en-us/102662
|
||||
Note: This portion of the instructions is that which breaks most often depending on what Parallels and macOS are doing.
|
||||
You might need to use `softwareupdate --fetch-full-installer --full-installer-version 14.5` and point Parallels
|
||||
You might need to use `softwareupdate --fetch-full-installer --full-installer-version 15.2` and point Parallels
|
||||
at that resulting installer in 'Applications' instead.
|
||||
- [ ] Run parallels, and select that installer you just downloaded. Name the VM "vcpkg-osx-<DATE>-amd64", for example "vcpkg-osx-2024-07-12-amd64".
|
||||
- [ ] Run parallels, and select that installer you just downloaded. Name the VM "vcpkg-osx-<DATE>-amd64", for example "vcpkg-osx-2025-01-24-amd64".
|
||||
- [ ] When creating the VM, customize the hardware to the following:
|
||||
* 12 processors
|
||||
* 24000 MB of memory
|
||||
* 350 GB disk
|
||||
* Disable sound output
|
||||
* Disable microphone
|
||||
* Do not share mac camera
|
||||
- [ ] Install MacOS like you would on real hardware.
|
||||
* Apple ID: 'Set Up Later' / Skip
|
||||
* Account name: vcpkg
|
||||
* A very similar password :)
|
||||
* Don't enable Location Services
|
||||
* Share crashes with app developers
|
||||
* Don't enable Ask Siri
|
||||
- [ ] Install Parallels Tools
|
||||
- [ ] Restart the VM
|
||||
- [ ] Change the desktop background to a solid color
|
||||
- [ ] Enable remote login in System Settings -> General -> Sharing -> Remote Login
|
||||
- [ ] 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://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-x64-3.241.0.tar.gz
|
||||
- [ ] Start the VM. Change the screen resolution to not be teeny weeny eyestrain o vision.
|
||||
- [ ] 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://vstsagentpackage.azureedge.net/agent/4.248.0/vsts-agent-osx-x64-4.248.0.tar.gz
|
||||
- [ ] In the guest, set the vcpkg user to be able to use sudo without a password:
|
||||
```sh
|
||||
printf 'vcpkg\tALL=(ALL)\tNOPASSWD:\tALL\n' | sudo tee -a '/etc/sudoers.d/vcpkg'
|
||||
sudo chmod 0440 '/etc/sudoers.d/vcpkg'
|
||||
```
|
||||
- [ ] Copy setup-guest, setup-box.sh, and the xcode installer renamed to 'clt.dmg' to the host, and run setup-guest.sh. For example:
|
||||
- [ ] Copy setup-guest, setup-box.sh, and the xcode installer renamed to 'clt.dmg' to the host, and run setup-guest.sh. From a developer machine:
|
||||
```sh
|
||||
scp ./setup-guest.sh vcpkg@MACHINE:/Users/vcpkg
|
||||
scp ./setup-box.sh vcpkg@MACHINE:/Users/vcpkg
|
||||
scp path/to/console/tools.dmg vcpkg@MACHINE:/Users/vcpkg/clt.dmg
|
||||
ssh vcpkg@MACHINE
|
||||
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
|
||||
rm ~/.ssh/known_hosts
|
||||
chmod +x setup-guest.sh
|
||||
./setup-guest.sh
|
||||
rm setup-guest.sh
|
||||
rm setup-box.sh
|
||||
rm clt.dmg
|
||||
```
|
||||
- [ ] In the guest, check that 'm4' works in the terminal. If it tries to reinstall the command line tools, let it do that. You might need to manually run this workaround from https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Known-Issues
|
||||
```sh
|
||||
sudo mkdir -p /Library/Developer/CommandLineTools
|
||||
sudo touch /Library/Developer/CommandLineTools/.beta
|
||||
exit
|
||||
```
|
||||
- [ ] Shut down the VM cleanly
|
||||
- [ ] Ensure that there is no host system specific 'hardware' like macOS install .isos attached.
|
||||
- [ ] Set the VM 'Isolated'
|
||||
- [ ] Boot and then cleanly shut down the VM.
|
||||
- [ ] In Parallels control center, right click the VM and select "Prepare for Transfer"
|
||||
- [ ] In Parallels control center, right click the VM and remove it, but "Keep Files"
|
||||
- [ ] Copy the packaged VM to Azure Storage, with something like:
|
||||
```sh
|
||||
ssh vcpkg@MACHINE
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
brew install azcopy
|
||||
azcopy copy ~/Parallels/vcpkg-osx-2024-07-12-amd64.pvmp "https://vcpkgimageminting...../pvms?<SAS>"
|
||||
azcopy copy ~/Parallels/vcpkg-osx-2024-07-12-amd64.sha256.txt "https://vcpkgimageminting...../pvms?<SAS>"
|
||||
azcopy copy ~/Parallels/vcpkg-osx-2025-01-24-amd64.pvmp "https://vcpkgimageminting.blob.core.windows.net/pvms?<SAS>"
|
||||
azcopy copy ~/Parallels/vcpkg-osx-2025-01-24-amd64.sha256.txt "https://vcpkgimageminting.blob.core.windows.net/pvms?<SAS>"
|
||||
exit
|
||||
```
|
||||
- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues and create a new self hosted Agent pool named `PrOsx-YYYY-MM-DD` based on the current date. Check 'Grant access permission to all pipelines.'
|
||||
- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues and create a new self hosted Agent pool named `PrOsx-YYYY-MM-DD` based on the current date. Grant microsoft.vcpkg.ci and microsoft.vcpkg.pr access.
|
||||
- [ ] Remove the macOS installer from Applications
|
||||
- [ ] Follow the "Deploying images" steps below for each machine in the fleet.
|
||||
|
||||
|
|
@ -86,19 +88,21 @@ 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):
|
||||
- [ ] (Once only) install `macosvm` to `~` (this tarball is also backed up in our `vcpkg-image-minting` storage account). For example from a dev workstation:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
curl -L -o macosvm-0.2-1-arm64-darwin21.tar.gz https://github.com/s-u/macosvm/releases/download/0.2-1/macosvm-0.2-1-arm64-darwin21.tar.gz
|
||||
tar xvf macosvm-0.2-1-arm64-darwin21.tar.gz
|
||||
rm macosvm-0.2-1-arm64-darwin21.tar.gz
|
||||
exit
|
||||
```
|
||||
- [ ] 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/2024SpringFCS/fullrestores/062-01897/C874907B-9F82-4109-87EB-6B3C9BF1507D/UniversalMac_14.5_23F79_Restore.ipsw
|
||||
- [ ] Determine the VM name using the form "vcpkg-osx-<date>-arm64", for example "vcpkg-osx-2024-07-12-arm64".
|
||||
- [ ] Open a terminal and run the following commands to create the VM with vcpkg-osx-2024-07-12-arm64 and UniversalMac_14.5_23F79_Restore.ipsw replaced as appropriate.
|
||||
- [ ] 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/2024FallFCS/fullrestores/072-44245/E811A1B0-28A9-4FCD-AE32-322E796F0EB8/UniversalMac_15.2_24C101_Restore.ipsw
|
||||
- [ ] Determine the VM name using the form "vcpkg-osx-<date>-arm64", for example "vcpkg-osx-2025-01-24-arm64".
|
||||
- [ ] Open a terminal and run the following commands to create the VM with vcpkg-osx-2025-01-24-arm64 and UniversalMac_15.2_24C101_Restore.ipsw replaced as appropriate. This must be run in the KVM as it uses a GUI:
|
||||
```sh
|
||||
mkdir -p ~/Parallels/vcpkg-osx-2024-07-12-arm64
|
||||
cd ~/Parallels/vcpkg-osx-2024-07-12-arm64
|
||||
~/macosvm --disk disk.img,size=500g --aux aux.img -c 8 -r 12g --restore ~/UniversalMac_14.5_23F79_Restore.ipsw ./vm.json
|
||||
mkdir -p ~/Parallels/vcpkg-osx-2025-01-24-arm64
|
||||
cd ~/Parallels/vcpkg-osx-2025-01-24-arm64
|
||||
~/macosvm --disk disk.img,size=500g --aux aux.img -c 8 -r 12g --restore ~/UniversalMac_15.2_24C101_Restore.ipsw ./vm.json
|
||||
~/macosvm -g ./vm.json
|
||||
```
|
||||
- [ ] Follow prompts as you would on real hardware.
|
||||
|
|
@ -109,43 +113,41 @@ This is the checklist for what the vcpkg team does when updating the macOS machi
|
|||
* Yes send crash reports
|
||||
- [ ] Set the desktop wallpaper to a fixed color from Settings -> Wallpaper . (This makes the KVM a lot easier to use :) )
|
||||
- [ ] Enable remote login in the VM: Settings -> General -> Sharing -> Remote Login
|
||||
- [ ] Set the vcpkg user to be able to use sudo without a password:
|
||||
- [ ] Set the vcpkg user to be able to use sudo without a password. For example from a dev workstation:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
rm ~/.ssh/known_hosts
|
||||
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'
|
||||
exit
|
||||
```
|
||||
- [ ] 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://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-arm64-3.241.0.tar.gz
|
||||
- [ ] 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://vstsagentpackage.azureedge.net/agent/4.248.0/vsts-agent-osx-arm64-4.248.0.tar.gz
|
||||
- [ ] Copy setup-box.sh and the xcode installer renamed to 'clt.dmg' to the host. For example from a dev workstation:
|
||||
```sh
|
||||
scp ./setup-guest.sh vcpkg@MACHINE:/Users/vcpkg
|
||||
scp ./setup-box.sh vcpkg@MACHINE:/Users/vcpkg
|
||||
scp path/to/console/tools.dmg vcpkg@MACHINE:/Users/vcpkg/clt.dmg
|
||||
ssh vcpkg@MACHINE
|
||||
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
|
||||
rm ~/.ssh/known_hosts
|
||||
./setup-guest.sh
|
||||
rm setup-guest.sh
|
||||
rm setup-box.sh
|
||||
rm clt.dmg
|
||||
```
|
||||
- [ ] In the guest, check that 'm4' works in the terminal. If it tries to reinstall the command line tools, let it do that. You might need to manually run this workaround from https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Known-Issues
|
||||
```sh
|
||||
sudo mkdir -p /Library/Developer/CommandLineTools
|
||||
sudo touch /Library/Developer/CommandLineTools/.beta
|
||||
exit
|
||||
```
|
||||
- [ ] Shut down the VM cleanly.
|
||||
- [ ] Mint a SAS token to vcpkgimageminting/pvms with read, add, create, write, and list permissions.
|
||||
- [ ] Open a terminal on the host and package the VM into a tarball:
|
||||
- [ ] Package the VM into a tarball. For example from a dev workstation:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
cd ~/Parallels
|
||||
aa archive -d vcpkg-osx-<date>-arm64 -o vcpkg-osx-<date>-arm64.aar -enable-holes
|
||||
brew install azcopy
|
||||
azcopy copy vcpkg-osx-<date>-arm64.aar "https://vcpkgimageminting.blob.core.windows.net/pvms?<SAS>"
|
||||
rm *.aar
|
||||
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. Check 'Grant access permission to all pipelines.'
|
||||
- [ ] 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.
|
||||
- [ ] Follow the "Deploying images" steps below for each machine in the fleet.
|
||||
|
||||
## Deploying images
|
||||
|
|
@ -158,30 +160,41 @@ Run these steps on each machine to add to the fleet. Skip steps that were done i
|
|||
- [ ] Log in to the machine using the KVM.
|
||||
- [ ] Check for software updates in macOS system settings
|
||||
- [ ] Check for software updates in Parallels' UI
|
||||
- [ ] 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)
|
||||
- [ ] 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:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
brew install azcopy
|
||||
cd ~/Parallels
|
||||
azcopy copy "https://vcpkgimageminting.blob.core.windows.net/pvms/vcpkg-osx-<DATE>-amd64.pvmp?<SAS>" .
|
||||
azcopy copy "https://vcpkgimageminting.blob.core.windows.net/pvms/vcpkg-osx-<DATE>-amd64.sha256.txt?<SAS>" .
|
||||
exit
|
||||
```
|
||||
- [ ] Open the .pvmp in Parallels, and unpack it.
|
||||
- [ ] Start the VM
|
||||
- [ ] Open the 'Configure' screen for the VM, and under Options -> Startup and Shutdown, set the following:
|
||||
* Custom
|
||||
* Start Automatically: When Mac Starts
|
||||
* Startup View: Headless
|
||||
* On VM Shutdown: Close Window (this one should already be set)
|
||||
* On Mac Shutdown: Shut Down
|
||||
* On Window Close: Keep Running in the Background
|
||||
- [ ] Close and restart Parallels Desktop. The VM should start automatically.
|
||||
- [ ] [grab a PAT][] if you don't already have one
|
||||
- [ ] Copy the guest deploy script to the host, and run it with a first parameter of your PAT
|
||||
- [ ] Copy the guest deploy script to the host, and run it with a first parameter of your PAT. From a developer machine:
|
||||
```sh
|
||||
scp ./register-guest.sh vcpkg@MACHINE:/Users/vcpkg
|
||||
ssh vcpkg@MACHINE
|
||||
rm ~/.ssh/known_hosts
|
||||
chmod +x /Users/vcpkg/register-guest.sh
|
||||
/Users/vcpkg/register-guest.sh <PAT>
|
||||
scp ./register-guest.sh vcpkg@HOSTMACHINE:/Users/vcpkg
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
rm .ssh/known_hosts
|
||||
chmod +x register-guest.sh
|
||||
./register-guest.sh <PAT>
|
||||
rm register-guest.sh
|
||||
exit
|
||||
```
|
||||
- [ ] Open a terminal window on the host and run the agent
|
||||
- [ ] In the VM, open a terminal on the host and run:
|
||||
```
|
||||
ssh -i ~/Parallels/*/id_guest vcpkg@`prlctl list --full | sed -nr 's/^.*running *([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/\1/p'`
|
||||
~/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.
|
||||
- [ ] Lock the screen on the host.
|
||||
- [ ] Update the "vcpkg Macs" spreadsheet line for the machine with the new pool.
|
||||
|
||||
|
|
@ -194,18 +207,23 @@ 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):
|
||||
- [ ] (Once only) install `macosvm` to `~` (this tarball is also backed up in our `vcpkg-image-minting` storage account). From a developer machine:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
curl -L -o macosvm-0.2-1-arm64-darwin21.tar.gz https://github.com/s-u/macosvm/releases/download/0.2-1/macosvm-0.2-1-arm64-darwin21.tar.gz
|
||||
tar xvf macosvm-0.2-1-arm64-darwin21.tar.gz
|
||||
rm macosvm-0.2-1-arm64-darwin21.tar.gz
|
||||
exit
|
||||
```
|
||||
- [ ] 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)
|
||||
- [ ] 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:
|
||||
```sh
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
brew install azcopy
|
||||
mkdir -p ~/Parallels
|
||||
cd ~/Parallels
|
||||
azcopy copy "https://vcpkgimageminting.blob.core.windows.net/pvms/vcpkg-osx-<DATE>-arm64.aar?<SAS>" vcpkg-osx-<DATE>-arm64.aar
|
||||
aa extract -d vcpkg-osx-<DATE>-arm64 -i ./vcpkg-osx-<DATE>-arm64.aar -enable-holes
|
||||
exit
|
||||
```
|
||||
- [ ] Open a separate terminal window on the host and start the VM by running:
|
||||
```sh
|
||||
|
|
@ -215,9 +233,9 @@ Run these steps on each machine to add to the fleet. Skip steps that were done i
|
|||
- [ ] [grab a PAT][] if you don't already have one
|
||||
- [ ] Copy the guest deploy script to the host, and run it with a first parameter of your PAT. From a developer machine:
|
||||
```sh
|
||||
scp ./register-guest.sh vcpkg@MACHINE:/Users/vcpkg
|
||||
ssh vcpkg@MACHINE
|
||||
rm ~/.ssh/known_hosts
|
||||
scp ./register-guest.sh vcpkg@HOSTMACHINE:/Users/vcpkg
|
||||
ssh vcpkg@HOSTMACHINE
|
||||
rm .ssh/known_hosts
|
||||
chmod +x register-guest.sh
|
||||
./register-guest.sh <PAT>
|
||||
rm register-guest.sh
|
||||
|
|
|
|||
|
|
@ -16,12 +16,12 @@ else
|
|||
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/vcpkg/.zprofile
|
||||
eval "$(/usr/local/bin/brew shellenv)"
|
||||
fi
|
||||
brew install autoconf-archive autoconf automake azure-cli bison cmake gettext gfortran gperf gtk-doc libtool meson mono nasm ninja pkg-config powershell python-setuptools texinfo yasm
|
||||
brew install autoconf-archive autoconf automake 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
|
||||
if [ `uname -m` = 'arm64' ]; then
|
||||
curl -s -o ~/Downloads/azure-agent.tar.gz https://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-arm64-3.241.0.tar.gz
|
||||
curl -s -o ~/Downloads/azure-agent.tar.gz https://vstsagentpackage.azureedge.net/agent/4.248.0/vsts-agent-osx-arm64-4.248.0.tar.gz
|
||||
else
|
||||
curl -s -o ~/Downloads/azure-agent.tar.gz https://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-x64-3.241.0.tar.gz
|
||||
curl -s -o ~/Downloads/azure-agent.tar.gz https://vstsagentpackage.azureedge.net/agent/4.248.0/vsts-agent-osx-x64-4.248.0.tar.gz
|
||||
fi
|
||||
mkdir ~/myagent
|
||||
tar xf ~/Downloads/azure-agent.tar.gz -C ~/myagent
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ ace:x64-android=fail
|
|||
allegro5:arm-neon-android=fail
|
||||
allegro5:arm64-android=fail
|
||||
allegro5:x64-android=fail
|
||||
angelscript:x64-osx=fail
|
||||
apr:arm-neon-android=fail
|
||||
apr:arm64-android=fail
|
||||
apr:x64-android=fail
|
||||
|
|
@ -62,8 +63,6 @@ azure-identity-cpp:x64-android=fail
|
|||
# C++20 conformant compiler required
|
||||
atliac-minitest:x64-linux=fail
|
||||
atliac-minitest:arm64-uwp=fail
|
||||
atliac-minitest:arm64-osx=fail
|
||||
atliac-minitest:x64-osx=fail
|
||||
atliac-minitest:x64-uwp=fail
|
||||
backward-cpp:arm-neon-android=fail
|
||||
backward-cpp:arm64-android=fail
|
||||
|
|
@ -350,6 +349,8 @@ freeglut:x64-android=fail
|
|||
# Needs XQuartz
|
||||
freeglut:x64-osx=fail
|
||||
freeglut:arm64-osx=fail
|
||||
freerdp:arm64-osx=fail
|
||||
freerdp:x64-osx=fail
|
||||
fruit:arm-neon-android=fail
|
||||
fruit:arm64-android=fail
|
||||
fruit:x64-android=fail
|
||||
|
|
@ -521,8 +522,6 @@ libcaer:x64-android=fail
|
|||
libcanberra:arm-neon-android=fail
|
||||
libcanberra:arm64-android=fail
|
||||
libcanberra:x64-android=fail
|
||||
libcoro:x64-osx=fail
|
||||
libcoro:arm64-osx=fail
|
||||
libcpplocate:arm-neon-android=fail
|
||||
libcpplocate:arm64-android=fail
|
||||
libcpplocate:x64-android=fail
|
||||
|
|
@ -784,9 +783,6 @@ nrf-ble-driver:arm64-android=fail
|
|||
nrf-ble-driver:x64-android=fail
|
||||
nvtt:x64-android=fail
|
||||
oatpp-libressl:x64-android=fail
|
||||
# needs gnu-sed
|
||||
octave:arm64-osx=fail
|
||||
octave:x64-osx=fail
|
||||
ode:arm64-windows=fail
|
||||
ode:arm64-windows-static-md=fail
|
||||
offscale-libetcd-cpp:arm64-uwp=fail
|
||||
|
|
@ -1136,6 +1132,7 @@ torch-th:x64-windows-static=fail
|
|||
tvision:arm-neon-android=fail
|
||||
tvision:arm64-android=fail
|
||||
tvision:x64-android=fail
|
||||
urho3d:x64-osx=fail
|
||||
# Proper support for a true static usd build is left as a future port improvement. It probably require fiddling with its monolithic mode.
|
||||
usd:x64-windows-static=skip
|
||||
# needs android-24
|
||||
|
|
@ -1206,13 +1203,14 @@ zyre:arm64-windows-static-md=fail
|
|||
zyre:x64-windows-static-md=fail
|
||||
|
||||
# Ports which needs to pass in CI
|
||||
cmake:x64-windows=pass
|
||||
cmake:x64-windows-static=pass
|
||||
cmake:x64-windows-static-md=pass
|
||||
cmake:arm64-windows=pass
|
||||
cmake:arm64-osx=pass
|
||||
cmake:arm64-windows-static-md=pass
|
||||
cmake:arm64-windows=pass
|
||||
cmake:x64-linux=pass
|
||||
cmake:x64-osx=pass
|
||||
cmake:x64-windows-static-md=pass
|
||||
cmake:x64-windows-static=pass
|
||||
cmake:x64-windows=pass
|
||||
cmake-user:arm64-uwp=pass
|
||||
cmake-user:arm64-windows=pass
|
||||
cmake-user:arm64-windows-static-md=pass
|
||||
|
|
@ -1286,7 +1284,6 @@ vcpkg-ci-freerdp:arm-neon-android=pass
|
|||
vcpkg-ci-freerdp:arm64-android=pass
|
||||
vcpkg-ci-freerdp:x64-android=pass
|
||||
vcpkg-ci-freerdp:x64-linux=pass
|
||||
vcpkg-ci-freerdp:x64-osx=pass
|
||||
vcpkg-ci-freerdp:x64-windows-static-md=pass
|
||||
vcpkg-ci-freerdp:x64-windows-static=pass
|
||||
vcpkg-ci-freerdp:x64-windows=pass
|
||||
|
|
@ -1333,12 +1330,13 @@ vcpkg-ci-opencv:x64-windows-static-md=pass
|
|||
vcpkg-ci-opencv:x64-windows-static=pass
|
||||
vcpkg-ci-opencv:x64-windows=pass
|
||||
vcpkg-ci-opencv:x86-windows=pass
|
||||
vcpkg-ci-openimageio:x86-windows=pass
|
||||
vcpkg-ci-openimageio:x64-windows=pass
|
||||
vcpkg-ci-openimageio:x64-windows-static=pass
|
||||
vcpkg-ci-openimageio:x64-windows-static-md=pass
|
||||
vcpkg-ci-openimageio:x64-osx=pass
|
||||
vcpkg-ci-openimageio:arm64-osx=pass
|
||||
vcpkg-ci-openimageio:x64-linux=pass
|
||||
vcpkg-ci-openimageio:x64-osx=pass
|
||||
vcpkg-ci-openimageio:x64-windows-static-md=pass
|
||||
vcpkg-ci-openimageio:x64-windows-static=pass
|
||||
vcpkg-ci-openimageio:x64-windows=pass
|
||||
vcpkg-ci-openimageio:x86-windows=pass
|
||||
vcpkg-ci-paraview:x64-linux=pass
|
||||
vcpkg-ci-paraview:x64-osx=pass
|
||||
vcpkg-ci-paraview:arm64-osx=pass
|
||||
|
|
|
|||
|
|
@ -3898,7 +3898,7 @@
|
|||
},
|
||||
"juce": {
|
||||
"baseline": "8.0.4",
|
||||
"port-version": 1
|
||||
"port-version": 2
|
||||
},
|
||||
"jwt-cpp": {
|
||||
"baseline": "0.7.0",
|
||||
|
|
@ -6190,7 +6190,7 @@
|
|||
},
|
||||
"msquic": {
|
||||
"baseline": "2.4.7",
|
||||
"port-version": 2
|
||||
"port-version": 3
|
||||
},
|
||||
"mstch": {
|
||||
"baseline": "1.0.2",
|
||||
|
|
@ -7586,7 +7586,7 @@
|
|||
},
|
||||
"qtbase": {
|
||||
"baseline": "6.8.2",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"qtcharts": {
|
||||
"baseline": "6.8.2",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "0a2790a3140e51910cc6ac4846aea3f1243a62bd",
|
||||
"version": "8.0.4",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "e35480f559031fb4b98bfa887ebf88291183a6ea",
|
||||
"version": "8.0.4",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "4e5648681b1e1f2ac74e7ab7be04d1215a0063bf",
|
||||
"version": "2.4.7",
|
||||
"port-version": 3
|
||||
},
|
||||
{
|
||||
"git-tree": "7b56cfbd638c6711b76cab27d5f9a71f17341d36",
|
||||
"version": "2.4.7",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "744273bb84e2107bb024f6d32e5c03890b4c4f2d",
|
||||
"version": "6.8.2",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "f3ba3628279d2cc0b50125dbbae1193d329f89d0",
|
||||
"version": "6.8.2",
|
||||
|
|
|
|||
Loading…
Reference in New Issue