Merge pull request #9080 from ThomasWaldmann/drop-macos-vm-master

vagrant: drop macOS 10.12 VM
This commit is contained in:
TW 2025-10-15 23:55:00 +02:00 committed by GitHub
commit 20d6b1060b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

99
Vagrantfile vendored
View file

@ -111,73 +111,6 @@ def packages_netbsd
EOF
end
def packages_macos
return <<-EOF
# install all the (security and other) updates
sudo softwareupdate --ignore iTunesX
sudo softwareupdate --ignore iTunes
sudo softwareupdate --ignore Safari
sudo softwareupdate --ignore "Install macOS High Sierra"
sudo softwareupdate --install --all
# this box has openssl 1.1 installed
export PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig
# the box "as is" has troubles downloading ca-certificates, needs a better working curl:
# https://curl.se/docs/install.html
curl -L https://github.com/curl/curl/releases/download/curl-8_10_1/curl-8.10.1.tar.gz | tar -xz
cd curl-8.10.1/
export ARCH=x86_64
export SDK=macosx
export DEPLOYMENT_TARGET=10.12
export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYMENT_TARGET"
./configure --host=$ARCH-apple-darwin --prefix /usr/local --with-openssl --without-libpsl --disable-ldap
make -j8
sudo make install
unset ARCH
unset SDK
unset DEPLOYMENT_TARGET
unset CFLAGS
cd ..
export HOMEBREW_DEVELOPER=1
export HOMEBREW_CURL_PATH=/usr/local/bin/curl
echo "finished building curl from source"
echo "----------------------------------"
# now the self-built curl should work for homebrew:
brew update
brew install ca-certificates
brew install openssl@3
export LDFLAGS=-L/usr/local/opt/openssl@3/lib
export CPPFLAGS=-I/usr/local/opt/openssl@3/include
export PKG_CONFIG_PATH=/usr/local/opt/openssl@3/lib/pkgconfig
echo 'export LDFLAGS=-L/usr/local/opt/openssl@3/lib' >> ~vagrant/.bash_profile
echo 'export CPPFLAGS=-I/usr/local/opt/openssl@3/include' >> ~vagrant/.bash_profile
echo 'export PKG_CONFIG_PATH=/usr/local/opt/openssl@3/lib/pkgconfig' >> ~vagrant/.bash_profile
echo "finished building ca-certificates and openssl@3"
echo "-----------------------------------------------"
# install curl from homebrew and use it for homebrew:
brew install curl
export PATH="/usr/local/opt/curl/bin:$PATH"
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~vagrant/.bash_profile
export HOMEBREW_FORCE_BREWED_CURL=1
echo 'export HOMEBREW_FORCE_BREWED_CURL=1' >> ~vagrant/.bash_profile
unset HOMEBREW_CURL_PATH
unset HOMEBREW_DEVELOPER
echo "finished install homebrew curl"
echo "------------------------------"
# now brew, curl, ca-certificates, openssl@3 should be all ok.
brew update
brew install pkgconf readline xxhash zstd lz4 xz
brew install --cask macfuse
# brew upgrade # upgrade everything (takes rather long)
# pyenv shall use the openssl@3 from homebrew:
echo 'export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA=openssl@3' >> ~vagrant/.bash_profile
EOF
end
def packages_openindiana
return <<-EOF
# needs separate provisioning step + reboot:
@ -203,12 +136,6 @@ def install_pyenv(boxname)
EOF
end
def fix_pyenv_macos(boxname)
return <<-EOF
echo 'export PYTHON_CONFIGURE_OPTS="--enable-framework"' >> ~/.bash_profile
EOF
end
def install_pythons(boxname)
return <<-EOF
. ~/.bash_profile
@ -469,32 +396,6 @@ Vagrant.configure(2) do |config|
b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("netbsd9", ".*fuse.*")
end
config.vm.define "macos1012" do |b|
b.vm.box = "macos-sierra"
b.vm.provider :virtualbox do |v|
v.memory = 8192 + $wmem
v.customize ['modifyvm', :id, '--ostype', 'MacOS_64']
v.customize ['modifyvm', :id, '--paravirtprovider', 'default']
v.customize ['modifyvm', :id, '--nested-hw-virt', 'on']
# Adjust CPU settings according to
# https://github.com/geerlingguy/macos-virtualbox-vm
v.customize ['modifyvm', :id, '--cpuidset',
'00000001', '000306a9', '00020800', '80000201', '178bfbff']
# Disable USB variant requiring Virtualbox proprietary extension pack
v.customize ["modifyvm", :id, '--usbehci', 'off', '--usbxhci', 'off']
end
b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
b.vm.provision "packages macos", :type => :shell, :privileged => false, :inline => packages_macos
b.vm.provision "install pyenv", :type => :shell, :privileged => false, :inline => install_pyenv("macos1012")
b.vm.provision "fix pyenv", :type => :shell, :privileged => false, :inline => fix_pyenv_macos("macos1012")
b.vm.provision "install pythons", :type => :shell, :privileged => false, :inline => install_pythons("macos1012")
b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_pyenv_venv("macos1012")
b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg("llfuse")
b.vm.provision "install pyinstaller", :type => :shell, :privileged => false, :inline => install_pyinstaller()
b.vm.provision "build binary with pyinstaller", :type => :shell, :privileged => false, :inline => build_binary_with_pyinstaller("macos1012")
b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("macos1012", ".*(fuse3|none).*")
end
# rsync on openindiana has troubles, does not set correct owner for /vagrant/borg and thus gives lots of
# permission errors. can be manually fixed in the VM by: sudo chown -R vagrant /vagrant/borg ; then rsync again.
config.vm.define "openindiana" do |b|