mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-22 15:57:15 +00:00
Merge pull request #8497 from ThomasWaldmann/vagrant-pyenv-reduce
vagrant: reduce pythons built, fix macos box
This commit is contained in:
commit
7a2d174d4e
1 changed files with 37 additions and 11 deletions
48
Vagrantfile
vendored
48
Vagrantfile
vendored
|
@ -117,15 +117,44 @@ def packages_macos
|
||||||
sudo softwareupdate --ignore Safari
|
sudo softwareupdate --ignore Safari
|
||||||
sudo softwareupdate --ignore "Install macOS High Sierra"
|
sudo softwareupdate --ignore "Install macOS High Sierra"
|
||||||
sudo softwareupdate --install --all
|
sudo softwareupdate --install --all
|
||||||
which brew || CI=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
|
||||||
|
# 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 $(pwd)/artifacts --with-openssl --without-libpsl
|
||||||
|
make -j8
|
||||||
|
cp artifacts/bin/curl /usr/local/bin/
|
||||||
|
unset ARCH
|
||||||
|
unset SDK
|
||||||
|
unset DEPLOYMENT_TARGET
|
||||||
|
unset CFLAGS
|
||||||
|
cd ..
|
||||||
|
export HOMEBREW_DEVELOPER=1
|
||||||
|
export HOMEBREW_CURL_PATH=/usr/local/bin/curl
|
||||||
|
brew install ca-certificates
|
||||||
|
brew install curl # also installs openssl@3
|
||||||
|
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~vagrant/.bash_profile
|
||||||
|
unset HOMEBREW_CURL_PATH
|
||||||
|
unset HOMEBREW_DEVELOPER
|
||||||
|
export HOMEBREW_FORCE_BREWED_CURL=1
|
||||||
|
|
||||||
|
# now brew, curl, ca-certificates, openssl@3 should be all ok.
|
||||||
brew update > /dev/null
|
brew update > /dev/null
|
||||||
brew install pkg-config readline xxhash openssl@3.0 zstd lz4 xz
|
brew install pkg-config readline xxhash zstd lz4 xz
|
||||||
brew install --cask macfuse
|
brew install --cask macfuse
|
||||||
# brew upgrade # upgrade everything (takes rather long)
|
# brew upgrade # upgrade everything (takes rather long)
|
||||||
echo 'export LDFLAGS=-L/usr/local/opt/openssl@3.0/lib' >> ~vagrant/.bash_profile
|
echo 'export LDFLAGS=-L/usr/local/opt/openssl@3/lib' >> ~vagrant/.bash_profile
|
||||||
echo 'export CPPFLAGS=-I/usr/local/opt/openssl@3.0/include' >> ~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.0/lib/pkgconfig' >> ~vagrant/.bash_profile
|
echo 'export PKG_CONFIG_PATH=/usr/local/opt/openssl@3/lib/pkgconfig' >> ~vagrant/.bash_profile
|
||||||
echo 'export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA=openssl@3.0' >> ~vagrant/.bash_profile
|
echo 'export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA=openssl@3' >> ~vagrant/.bash_profile
|
||||||
EOF
|
EOF
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -169,9 +198,6 @@ def install_pythons(boxname)
|
||||||
. ~/.bash_profile
|
. ~/.bash_profile
|
||||||
echo "PYTHON_CONFIGURE_OPTS: ${PYTHON_CONFIGURE_OPTS}"
|
echo "PYTHON_CONFIGURE_OPTS: ${PYTHON_CONFIGURE_OPTS}"
|
||||||
pyenv install 3.12.4 # tests, binary build (3.12.5/6/7 has a broken pip on old macOS)
|
pyenv install 3.12.4 # tests, binary build (3.12.5/6/7 has a broken pip on old macOS)
|
||||||
pyenv install 3.11.3 # tests
|
|
||||||
pyenv install 3.10.2 # tests
|
|
||||||
pyenv install 3.9.4 # tests
|
|
||||||
pyenv rehash
|
pyenv rehash
|
||||||
EOF
|
EOF
|
||||||
end
|
end
|
||||||
|
@ -236,8 +262,8 @@ def run_tests(boxname, skip_env)
|
||||||
. ../borg-env/bin/activate
|
. ../borg-env/bin/activate
|
||||||
if which pyenv 2> /dev/null; then
|
if which pyenv 2> /dev/null; then
|
||||||
# for testing, use the earliest point releases of the supported python versions:
|
# for testing, use the earliest point releases of the supported python versions:
|
||||||
pyenv global 3.9.4 3.10.2 3.11.3 3.12.4
|
pyenv global 3.12.4
|
||||||
pyenv local 3.9.4 3.10.2 3.11.3 3.12.4
|
pyenv local 3.12.4
|
||||||
fi
|
fi
|
||||||
# otherwise: just use the system python
|
# otherwise: just use the system python
|
||||||
# some OSes can only run specific test envs, e.g. because they miss FUSE support:
|
# some OSes can only run specific test envs, e.g. because they miss FUSE support:
|
||||||
|
|
Loading…
Reference in a new issue