Move Windows dep build from MinGW/GCC to msys/MSVC #105502

Merged
Ray molenkamp merged 27 commits from Anthony-Roberts/blender:move-to-msys2 into main 2023-06-10 23:05:55 +02:00
1 changed files with 15 additions and 12 deletions
Showing only changes of commit a0f7fe5a75 - Show all commits

View File

@ -57,18 +57,21 @@ if((NOT EXISTS "${DOWNLOAD_DIR}/msys2/msys64/msys2_shell.cmd") AND (EXISTS "${DO
)
endif()
# Refresh pacman repositories (similar to debian's `apt update`)
message("Refreshing pacman")
execute_process(
COMMAND ${DOWNLOAD_DIR}/msys2/msys64/msys2_shell.cmd -defterm -no-start -clang64 -c "pacman -Syy --noconfirm && exit"
WORKING_DIRECTORY ${DOWNLOAD_DIR}/msys2/msys64
)
message("Installing required packages")
execute_process(
COMMAND ${DOWNLOAD_DIR}/msys2/msys64/msys2_shell.cmd -defterm -no-start -clang64 -c "pacman -S patch m4 coreutils pkgconf make diffutils autoconf-wrapper --noconfirm && exit"
WORKING_DIRECTORY ${DOWNLOAD_DIR}/msys2/msys64
)
# If m4 isn't there, the others probably aren't either
if(NOT EXISTS "${DOWNLOAD_DIR}/msys2/msys64/usr/bin/m4.exe")
Anthony-Roberts marked this conversation as resolved Outdated

That's problematic, i need to be able to rebuild LTS releases for 2 years without getting all kinds of unrelated updates, the old system grabbed the packages once, and for the important ones like compiler versions they were pinned versions so there's no surprise GCC 10->11 update with all kinds of new adventures in it.

That's problematic, i need to be able to rebuild LTS releases for 2 years without getting all kinds of unrelated updates, the old system grabbed the packages once, and for the important ones like compiler versions they were pinned versions so there's no surprise GCC 10->11 update with all kinds of new adventures in it.

So the packages in this case are nothing critical in that way - they are on line 70, patch m4 coreutils nasm pkgconf make diffutils autoconf-wrapper - the one thing that could be an issue (perl), is on a fixed version.

The only one I could see being an issue is NASM, which it may be possible to download a specific version of from elsewhere.

So the packages in this case are nothing critical in that way - they are on line 70, `patch m4 coreutils nasm pkgconf make diffutils autoconf-wrapper` - the one thing that could be an issue (perl), is on a fixed version. The only one I could see being an issue is NASM, which it may be possible to download a specific version of from elsewhere.

If it's not critical, there is no need to update them no?

You can probably nick the nasm install from the old mingw code.

If it's not critical, there is no need to update them no? You can probably nick the nasm install from the old mingw code.

I mean sure, but rebuilding deps from scratch would get the newest version anyway, as msys2/pacman has no concept of version pinning - I can remove it if you would like though.

ACK on 2nd line, I'll look into using the nasm code from the old release.

I mean sure, but rebuilding deps from scratch would get the newest version anyway, as msys2/pacman has no concept of version pinning - I can remove it if you would like though. ACK on 2nd line, I'll look into using the nasm code from the old release.
# Refresh pacman repositories (similar to debian's `apt update`)
message("Refreshing pacman")
execute_process(
COMMAND ${DOWNLOAD_DIR}/msys2/msys64/msys2_shell.cmd -defterm -no-start -clang64 -c "pacman -Syy --noconfirm && exit"
WORKING_DIRECTORY ${DOWNLOAD_DIR}/msys2/msys64
)
message("Installing required packages")
execute_process(
COMMAND ${DOWNLOAD_DIR}/msys2/msys64/msys2_shell.cmd -defterm -no-start -clang64 -c "pacman -S patch m4 coreutils pkgconf make diffutils autoconf-wrapper --noconfirm && exit"
WORKING_DIRECTORY ${DOWNLOAD_DIR}/msys2/msys64
)
endif()
# Strip out the copy of perl that comes with msys2 if it exists, otherwise python builds break
if(EXISTS "${DOWNLOAD_DIR}/msys2/msys64/usr/bin/perl.exe")