# HG changeset patch # User Bram Moolenaar # Date 1682520305 -7200 # Node ID 54047caa54dea00cfea0b0189e546e7c06b55e31 # Parent 30f6b1ae3bceb003f5858ece8af4dba2690f566e patch 9.0.1489: crypt with libsodium is not tested on CI Commit: https://github.com/vim/vim/commit/2f14716c464bbbf1d6cabfb8e270eac0972e98d2 Author: ichizok Date: Wed Apr 26 15:43:39 2023 +0100 patch 9.0.1489: crypt with libsodium is not tested on CI Problem: Crypt with libsodium is not tested on CI. Solution: Configure testing with libsodium. (Ozaki Kiichi, closes https://github.com/vim/vim/issues/12297) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -370,6 +370,12 @@ jobs: # Other dependencies # winpty WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip + # libsodium + SODIUM_VER: '1.0.18' + SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip + SODIUM_MSVC_VER: v143 + SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz + SODIUM_MINGW_VER: 23 # Escape sequences COL_RED: "\x1b[31m" COL_GREEN: "\x1b[32m" @@ -399,7 +405,7 @@ jobs: git config --global core.autocrlf input - if [ "${{ matrix.arch }}" = "x64" ]; then + if ${{ matrix.arch == 'x64' }}; then cygreg=registry pyreg= echo "VCARCH=amd64" >> $GITHUB_ENV @@ -416,8 +422,8 @@ jobs: fi echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV - if [ "${{ matrix.features }}" != "TINY" ]; then - if [ "${{ matrix.arch }}" = "x86" ]; then + if ${{ matrix.features != 'TINY' }}; then + if ${{ matrix.arch == 'x86' }}; then choco install python2 --no-progress --forcex86 else choco install python2 --no-progress @@ -426,6 +432,15 @@ jobs: python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@") echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV + if ${{ matrix.toolchain == 'msvc' }}; then + SODIUM_DIR=D:\\libsodium + echo "SODIUM_LIB=${SODIUM_DIR}\\${{ matrix.arch == 'x64' && 'x64' || 'Win32' }}\\Release\\${SODIUM_MSVC_VER}\\dynamic" >> $GITHUB_ENV + else + SODIUM_DIR=D:\\libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }} + echo "SODIUM_LIB=${SODIUM_DIR}\\bin" >> $GITHUB_ENV + fi + echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV + - uses: msys2/setup-msys2@v2 if: matrix.toolchain == 'mingw' with: @@ -445,6 +460,7 @@ jobs: type NUL > urls.txt echo %LUA_RELEASE%>> urls.txt echo %WINPTY_URL%>> urls.txt + echo %SODIUM_VER%>> urls.txt - name: Cache downloaded files uses: actions/cache@v3 @@ -468,6 +484,16 @@ jobs: copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\ + echo %COL_GREEN%Download libsodium%COL_RESET% + if "${{ matrix.toolchain }}"=="msvc" ( + call :downloadfile %SODIUM_MSVC_URL% downloads\libsodium.zip + 7z x -y downloads\libsodium.zip -oD:\ > nul || exit 1 + ) else ( + call :downloadfile %SODIUM_MINGW_URL% downloads\libsodium.tar.gz + 7z x -y downloads\libsodium.tar.gz -so | 7z x -si -ttar -oD:\ > nul || exit 1 + mklink %SODIUM_LIB%\libsodium.dll %SODIUM_LIB%\libsodium-%SODIUM_MINGW_VER%.dll + ) + goto :eof :downloadfile @@ -498,7 +524,8 @@ jobs: GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^ DYNAMIC_LUA=yes LUA=%LUA_DIR% ^ DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^ - DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% + DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^ + DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR% ) else ( nmake -nologo -f Make_mvc.mak ^ FEATURES=${{ matrix.features }} ^ @@ -522,6 +549,7 @@ jobs: DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \ DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \ DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \ + DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR} \ STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }} else mingw32-make -f Make_ming.mak -j2 \ @@ -566,7 +594,7 @@ jobs: shell: cmd timeout-minutes: 15 run: | - PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR% + PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB% call "%VCVARSALL%" %VCARCH% echo %COL_GREEN%Test gVim:%COL_RESET% @@ -583,7 +611,7 @@ jobs: shell: cmd timeout-minutes: 15 run: | - PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR% + PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB% call "%VCVARSALL%" %VCARCH% echo %COL_GREEN%Test Vim:%COL_RESET% diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1489, +/**/ 1488, /**/ 1487,