diff --git a/archive/release.sh b/archive/release.sh index 5200eb5552..64bc10911e 100755 --- a/archive/release.sh +++ b/archive/release.sh @@ -43,6 +43,10 @@ MINGW64) ARCH=x86_64 ARTIFACT_SUFFIX="64-bit" ;; +UCRT64) + ARCH=ucrt64 + ARTIFACT_SUFFIX="ucrt64" + ;; CLANGARM64) ARCH=aarch64 ARTIFACT_SUFFIX=arm64 diff --git a/installer/release.sh b/installer/release.sh index aa9791f2d5..6f5cfdde20 100755 --- a/installer/release.sh +++ b/installer/release.sh @@ -119,14 +119,23 @@ case "$MSYSTEM" in MINGW32) BITNESS=32 ARCH=i686 + MINGW_PACKAGE_PREFIX=mingw-w64-i686 ;; MINGW64) BITNESS=64 ARCH=x86_64 + MINGW_PACKAGE_PREFIX=mingw-w64-x86_64 + ;; +UCRT64) + BITNESS=64 + ARCH=ucrt64 + MINGW_PACKAGE_PREFIX=mingw-w64-ucrt-x86_64 + inno_defines="$inno_defines$LF#define INSTALLER_FILENAME_SUFFIX 'ucrt64'" ;; CLANGARM64) BITNESS=64 ARCH=aarch64 + MINGW_PACKAGE_PREFIX=mingw-w64-clang-aarch64 inno_defines="$inno_defines$LF#define INSTALLER_FILENAME_SUFFIX 'arm64'$LF#define ARCHS_ALLOWED 'arm64 and x64compatible'" ;; *) @@ -145,7 +154,8 @@ fi || die "Could not generate release notes" test ! -d /var/lib/pacman/local/ || -if grep -q edit-git-bash /var/lib/pacman/local/mingw-w64-$ARCH-git-[1-9]*/files +if grep -q edit-git-bash /var/lib/pacman/local/$MINGW_PACKAGE_PREFIX-git-for-windows-addons-[1-9]*/files || + grep -q edit-git-bash /var/lib/pacman/local/$MINGW_PACKAGE_PREFIX-git-[1-9]*/files then INCLUDE_EDIT_GIT_BASH= else diff --git a/mingit/release.sh b/mingit/release.sh index 567effdd83..37319aa10f 100755 --- a/mingit/release.sh +++ b/mingit/release.sh @@ -35,17 +35,22 @@ case "$MSYSTEM" in MINGW32) ARCH=i686 ARTIFACT_SUFFIX="32-bit" - PACMAN_ARCH=i686 + MINGW_PACKAGE_PREFIX=mingw-w64-i686 ;; MINGW64) ARCH=x86_64 ARTIFACT_SUFFIX="64-bit" - PACMAN_ARCH=x86_64 + MINGW_PACKAGE_PREFIX=mingw-w64-x86_64 ;; CLANGARM64) ARCH=aarch64 ARTIFACT_SUFFIX=arm64 - PACMAN_ARCH=clang-aarch64 + MINGW_PACKAGE_PREFIX=mingw-w64-clang-aarch64 + ;; +UCRT64) + ARCH=ucrt64 + ARTIFACT_SUFFIX="ucrt64" + PACMAN_ARCH=ucrt-x86_64 ;; *) die "Unhandled MSYSTEM: $MSYSTEM" @@ -115,11 +120,11 @@ die "Could not generate system config" # Make the archive type 7z || -pacman -Sy --noconfirm mingw-w64-$PACMAN_ARCH-7zip || +pacman -Sy --noconfirm $MINGW_PACKAGE_PREFIX-7zip || die "Could not install 7-Zip" echo "$LIST" | sort >"$SCRIPT_PATH"/sorted-all && -pacman -Ql mingw-w64-$PACMAN_ARCH-git | +pacman -Ql $MINGW_PACKAGE_PREFIX-git | sed 's|^[^ ]* /||' | grep "^$MSYSTEM_LOWER/libexec/git-core/.*\.exe$" | sort >"$SCRIPT_PATH"/sorted-libexec-exes && diff --git a/nuget/release.sh b/nuget/release.sh index 45429d2378..e06bcfc6b4 100755 --- a/nuget/release.sh +++ b/nuget/release.sh @@ -73,9 +73,11 @@ ARCH="$(uname -m)" case "$ARCH" in i686) BITNESS=32 + MINGW_PACKAGE_PREFIX=mingw-w64-i686 ;; x86_64) BITNESS=64 + MINGW_PACKAGE_PREFIX=mingw-w64-x86_64 ;; *) die "Unhandled architecture: $ARCH" @@ -117,7 +119,7 @@ test -z "$MINIMAL_GIT" || { mv "$SPEC" "$SPEC".unmoved && sed -e '/tools\\mingw..\\libexec\\git-core\\\(scalar\|git\(\|-upload-pack\)\).exe/d' \ -e 's%\( target="tools\\mingw[36][24]\\\)libexec\\git-core\\\('"$(\ - pacman -Ql mingw-w64-$ARCH-git | + pacman -Ql $MINGW_PACKAGE_PREFIX-git | sed -n 's|^[^ ]* /mingw../libexec/git-core/\(.*\.exe\)$|\1\\|p' | tr '\n' '|')"'\)"%\1bin\\\2"%' <"$SPEC".unmoved >"$SPEC" && git diff --no-index "$SPEC.unmoved" "$SPEC" | diff --git a/please.sh b/please.sh index 0577ab2532..8e34c27117 100755 --- a/please.sh +++ b/please.sh @@ -250,7 +250,7 @@ bundle_pdbs () { # [--directory=] [-- architectures="i686 x86_64 aarch64" versions="$(case $# in 0) pacman -Q;; 1) cat "$1";; esac | - sed 's/^\(mingw-w64\)\(-clang-[^-]*\|-[^-]*\)/\1/' | sort | uniq)" + sed 's/^\(mingw-w64\)\(-clang-[^-]*\|-ucrt-[^-]*\|-[^-]*\)/\1/' | sort | uniq)" test -n "$versions" || die 'Could not obtain package versions\n' @@ -281,19 +281,25 @@ bundle_pdbs () { # [--directory=] [-- case $arch in x86_64) oarch=x86_64 - pacman_arch=x86_64 + mingw_package_prefix=mingw-w64-x86_64 artifact_suffix=64-bit ;; i686) oarch=i686 - pacman_arch=i686 + mingw_package_prefix=mingw-w64-i686 artifact_suffix=32-bit ;; aarch64) oarch=aarch64 - pacman_arch=clang-aarch64 + mingw_package_prefix=mingw-w64-clang-aarch64 artifact_suffix=arm64 ;; + ucrt64) + oarch=x86_64 + mingw_package_prefix=mingw-w64-ucrt-x86_64 + artifact_suffix=ucrt64 + packages="$(echo "$packages" | sed 's/ mingw-w64-openssl-pdb//')" + ;; *) die "Unhandled architecture: $arch" ;; @@ -324,7 +330,7 @@ bundle_pdbs () { # [--directory=] [-- fi case "$package" in mingw-w64-*) - tar=mingw-w64-$pacman_arch-${package#mingw-w64-}-$version-any.pkg.tar.xz + tar=$mingw_package_prefix-${package#mingw-w64-}-$version-any.pkg.tar.xz dir2="/usr/src/MINGW-packages/$name" ;; *) @@ -796,7 +802,7 @@ find_mspdb_dll () { # return 1 } -build_mingw_w64_git () { # [--only-i686] [--only-x86_64] [--only-aarch64] [--skip-test-artifacts] [--skip-doc-man] [--skip-doc-html] [--force] [] +build_mingw_w64_git () { # [--only-i686] [--only-x86_64] [--only-aarch64] [--only-ucrt64] [--skip-test-artifacts] [--skip-doc-man] [--skip-doc-html] [--force] [] output_path= sed_makepkg_e= force= @@ -815,6 +821,10 @@ build_mingw_w64_git () { # [--only-i686] [--only-x86_64] [--only-aarch64] [--ski MINGW_ARCH=clangarm64 export MINGW_ARCH ;; + --only-ucrt64) + MINGW_ARCH=ucrt64 + export MINGW_ARCH + ;; --skip-test-artifacts) sed_makepkg_e="$sed_makepkg_e"' -e s/"\${MINGW_PACKAGE_PREFIX}-\${_realname}-test-artifacts"//' ;; diff --git a/portable/release.sh b/portable/release.sh index 0b0248fa81..7acfa2b8aa 100755 --- a/portable/release.sh +++ b/portable/release.sh @@ -52,6 +52,13 @@ MINGW64) MD_ARG=256M MINGW_PREFIX=mingw-w64-x86_64- ;; +UCRT64) + BITNESS=64 + ARCH=ucrt64 + ARTIFACT_SUFFIX="ucrt64" + MD_ARG=256M + MINGW_PREFIX=mingw-w64-ucrt-x86_64- + ;; CLANGARM64) BITNESS=64 ARCH=aarch64