[tbb-commits] [builders/tor-browser-build] 02/08: Bug 40595: Update config and toolchains for 102

gitolite role git at cupani.torproject.org
Wed Aug 31 13:13:25 UTC 2022


This is an automated email from the git hooks/post-receive script.

pierov pushed a commit to branch main
in repository builders/tor-browser-build.

commit 5831fbe7ea1296910466bd578f2d7aeb37ca17ce
Author: Pier Angelo Vendrame <pierov at torproject.org>
AuthorDate: Wed Aug 3 11:41:08 2022 +0200

    Bug 40595: Update config and toolchains for 102
---
 projects/clang/build                               | 14 +++-
 projects/firefox/build                             | 16 +++-
 projects/firefox/config                            | 14 ++--
 projects/firefox/list_toolchain_updates_checks     | 55 +++++++-------
 projects/gcc-source/build                          |  2 +
 projects/gcc-source/config                         |  7 ++
 projects/gcc/build                                 |  2 +-
 projects/gcc/config                                |  6 +-
 projects/llvm-mingw/build                          |  8 --
 projects/llvm-mingw/config                         |  5 --
 projects/llvm-project/config                       |  4 +-
 projects/macosx-toolchain/build                    |  1 +
 .../compiler-rt-cross-compile.patch                |  4 +-
 .../macosx-toolchain/compiler-rt-no-codesign.patch |  4 +-
 projects/mingw-w64-clang/build                     | 82 ++++++--------------
 projects/mingw-w64-clang/config                    |  8 +-
 .../mingw-uiautomationcoreapi.patch                | 13 ++++
 .../mingw-w64-clang/mingw-windows_foundation.patch | 14 ++++
 projects/mingw-w64/build                           |  5 +-
 projects/mingw-w64/config                          |  9 +--
 projects/rust/build                                |  9 ---
 projects/rust/config                               |  9 +--
 projects/rust/fix-build-1.53.0.patch               | 88 ----------------------
 projects/tor-launcher/config                       |  2 +-
 24 files changed, 144 insertions(+), 237 deletions(-)

diff --git a/projects/clang/build b/projects/clang/build
index 8449070..cab2801 100644
--- a/projects/clang/build
+++ b/projects/clang/build
@@ -23,13 +23,19 @@ cd clang-source
 export LLVM_HOME=$(pwd)
 mkdir build
 cd build
-cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
-                                  -DCMAKE_BUILD_TYPE=Release \
+# LLVM_ENABLE_ZLIB solves the "contains a compressed section, but zlib is not available" on lld
+# LLVM_INSTALL_UTILS allows this LLVM to be used to compile Rust
+cmake ../llvm -G "Unix Makefiles" \
+              -DCMAKE_INSTALL_PREFIX=$distdir \
+              -DCMAKE_BUILD_TYPE=Release \
             [% IF c("var/android") || c("var/osx") -%]
-                                  -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
+              -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
             [% END -%]
             [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
-                                  -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;lld"
+              -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;lld" \
+              -DLLVM_ENABLE_ZLIB=ON \
+              -DLLVM_INSTALL_UTILS=ON \
+
 make -j[% c("num_procs") %]
 make install
 cd ..
diff --git a/projects/firefox/build b/projects/firefox/build
index 0d26a20..a6d42b3 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -135,9 +135,21 @@ add_translation () {
 rm -f configure
 rm -f js/src/configure
 
-export MACH_USE_SYSTEM_PYTHON=1
+export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
 
-./mach configure [% IF c("var/tor-browser") %]--with-tor-browser-version=[% c("var/torbrowser_version") %][% END %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/channel") %] --enable-bundled-fonts [% IF c("var/tor-browser") %]--with-branding=[% c("var/branding_directory") %][% END %]
+# Create .mozbuild to avoid interactive prompt in configure
+mkdir "$HOME/.mozbuild"
+
+# PyYAML tries to read files as ASCII, otherwise
+export LC_ALL=C.UTF-8
+export LANG=C.UTF-8
+
+./mach configure \
+  [% IF c("var/tor-browser") %]--with-tor-browser-version=[% c("var/torbrowser_version") %][% END %] \
+  --with-distribution-id=org.torproject \
+  --enable-update-channel=[% c("var/channel") %] \
+  [% IF c("var/tor-browser") %]--with-branding=[% c("var/branding_directory") %][% END %] \
+  [% IF !c("var/rlbox") -%]--without-wasm-sandboxed-libraries[% END %] \
 
 ./mach build --verbose
 ./mach build stage-package
diff --git a/projects/firefox/config b/projects/firefox/config
index a392d58..f62523a 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -10,10 +10,10 @@ container:
   use_container: 1
 
 var:
-  firefox_platform_version: 91.12.0
+  firefox_platform_version: 102.2.0
   firefox_version: '[% c("var/firefox_platform_version") %]esr'
   browser_branch: '12.0-1'
-  browser_build: 2
+  browser_build: 1
   branding_directory: 'browser/branding/alpha'
   copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
   deps:
@@ -50,7 +50,7 @@ steps:
 
   list_toolchain_updates:
     git_url: https://github.com/mozilla/gecko-dev.git
-    git_hash: esr91
+    git_hash: esr102
     tag_gpg_id: 0
     input_files: []
     container:
@@ -80,10 +80,12 @@ targets:
         - libdbus-glib-1-dev
         - libxt-dev
         - hardening-wrapper
-        # To pass configure since ESR 31.
+        # To pass configure since ESR 31
         - libpulse-dev
         # To pass configure since ESR 52
         - libx11-xcb-dev
+        # To pass configure since ESR 102
+        - libasound2-dev
         # To support Wayland mode
         - libdrm-dev
 
@@ -97,10 +99,12 @@ targets:
         - libdbus-glib-1-dev:i386
         - libxt-dev:i386
         - hardening-wrapper
-        # To pass configure since ESR 31.
+        # To pass configure since ESR 31
         - libpulse-dev:i386
         # To pass configure since ESR 52
         - libx11-xcb-dev:i386
+        # To pass configure since ESR 102
+        - libasound2-dev:i386
         # To support Wayland mode
         - libdrm-dev:i386
 
diff --git a/projects/firefox/list_toolchain_updates_checks b/projects/firefox/list_toolchain_updates_checks
index 26ee3a0..a87b60c 100644
--- a/projects/firefox/list_toolchain_updates_checks
+++ b/projects/firefox/list_toolchain_updates_checks
@@ -44,13 +44,12 @@ check_update_needed cbindgen "$needed" "$current"
 
 # nasm
 read -d '' p << 'EOF' || true
-if (m/^\\s*MODERN_NASM_VERSION\\s*=\\s*LooseVersion\\("([^"]+)"\\)/) {
-  print $1;
-  exit;
-}
+my $nasm = YAML::XS::LoadFile('taskcluster/ci/toolchain/nasm.yml');
+my $linux64 = 'linux64-nasm';
+print substr $nasm->{$linux64}{'fetches'}{'fetch'}[0], 5;
 EOF
-needed=$(cat python/mozboot/mozboot/base.py | perl -ne "$p")
-current='2.14'
+needed=$(perl -MYAML::XS -e "$p")
+current='2.15.05'
 check_update_needed nasm "$needed" "$current"
 
 
@@ -65,22 +64,34 @@ check_update_needed nasm "$needed" "$current"
 read -d '' p << 'EOF' || true
 my $d = YAML::XS::LoadFile('taskcluster/ci/toolchain/clang.yml');
 my $clang_toolchain;
-foreach my $t (keys %$d) {
-  if ($d->{$t}{run}{'toolchain-alias'} eq '[% toolchain_alias %]') {
-    foreach my $fetch (@{$d->{$t}{fetches}{fetch}}) {
-      $clang_toolchain = $fetch if $fetch =~ m/^clang-.*/;
+TOOLCHAIN: foreach my $t (keys %$d) {
+  foreach my $alias (@{$d->{$t}{run}{'toolchain-alias'}}) {
+    if ($alias eq 'linux64-clang') {
+      foreach my $fetch (@{$d->{$t}{fetches}{toolchain}}) {
+        $clang_toolchain = $fetch if $fetch =~ m/^.*-clang-.*/;
+      }
+      last TOOLCHAIN;
     }
-    last;
   }
 }
 
 if (!$clang_toolchain) {
-  print STDERR "Error: could not find clang toolchain";
+  print STDERR "Error: could not find clang toolchain\\n";
+  exit 1;
+}
+
+my $clang_fetch;
+foreach my $fetch (@{$d->{$clang_toolchain}{fetches}{fetch}}) {
+  $clang_fetch = $fetch if $fetch =~ m/^clang-.*/;
+}
+
+if (!$clang_fetch) {
+  print STDERR "Error: could not find clang fetch\\n";
   exit 1;
 }
 
 my $fetch = YAML::XS::LoadFile('taskcluster/ci/fetch/toolchains.yml');
-print $fetch->{$clang_toolchain}{fetch}{revision};
+print $fetch->{$clang_fetch}{fetch}{revision};
 EOF
 needed=$(perl -MYAML::XS -e "$p")
 current='[% pc("llvm-project", "git_hash") %]'
@@ -119,15 +130,15 @@ current='[% pc("node", "version") %]'
 check_update_needed node "$needed" "$current"
 
 
-# python
+# Python
 read -d '' p << 'EOF' || true
-if (m/find_python3_executable\\(min_version\\s*=\\s*"([^"]+)"/) {
+if (m/^\\s*"Bootstrap currently only runs on Python ([^"]+)\\."/) {
   print $1;
   exit;
 }
 EOF
-needed=$(cat build/moz.configure/init.configure | perl -ne "$p")
-current=3.6.0
+needed=$(cat python/mozboot/bin/bootstrap.py | perl -ne "$p")
+current="3.5+" # 3.6.0
 check_update_needed python "$needed" "$current"
 
 
@@ -185,16 +196,6 @@ current='[% pc("mingw-w64", "git_hash") %]'
 check_update_needed mingw-w64 "$needed" "$current"
 
 
-# llvm-mingw
-read -d '' p << 'EOF' || true
-my $d = YAML::XS::LoadFile('taskcluster/ci/fetch/toolchains.yml');
-print $d->{'llvm-mingw'}{fetch}{revision};
-EOF
-needed=$(perl -MYAML::XS -e "$p")
-current='[% pc("llvm-mingw", "git_hash") %]'
-check_update_needed llvm-mingw "$needed" "$current"
-
-
 # fxc2
 read -d '' p << 'EOF' || true
 my $d = YAML::XS::LoadFile('taskcluster/ci/fetch/toolchains.yml');
diff --git a/projects/gcc-source/build b/projects/gcc-source/build
new file mode 100644
index 0000000..b13d150
--- /dev/null
+++ b/projects/gcc-source/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+# Do nothing, and just keep the downloaded archive
diff --git a/projects/gcc-source/config b/projects/gcc-source/config
new file mode 100644
index 0000000..9098c20
--- /dev/null
+++ b/projects/gcc-source/config
@@ -0,0 +1,7 @@
+# vim: filetype=yaml sw=2
+version: 10.3.0
+filename: 'gcc-[% c("version") %].tar.xz'
+input_files:
+  - URL: 'https://ftp.gnu.org/gnu/gcc/gcc-[% c("version") %]/gcc-[% c("version") %].tar.xz'
+    sha256sum: 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
+    name: gcc
diff --git a/projects/gcc/build b/projects/gcc/build
index 8a0bf62..dc76f8c 100644
--- a/projects/gcc/build
+++ b/projects/gcc/build
@@ -18,7 +18,7 @@
 [% END -%]
 distdir=/var/tmp/dist/[% project %]
 mkdir /var/tmp/build
-tar -C /var/tmp/build -xf [% project %]-[% c("version") %].tar.xz
+tar -C /var/tmp/build -xf $rootdir/[% c('input_files_by_name/gcc') %]
 cd /var/tmp/build/[% project %]-[% c("version") %]
 ./configure --prefix=$distdir [% c("var/configure_opt") %]
 make -j[% c("num_procs") %]
diff --git a/projects/gcc/config b/projects/gcc/config
index 7bd7ccd..d0fae8c 100644
--- a/projects/gcc/config
+++ b/projects/gcc/config
@@ -3,7 +3,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
 # Note: When updating the gcc version, if this includes a libstdc++
 # ABI change we should also update projects/firefox/abicheck.cc to
 # require the new version.
-version: 10.3.0
+version: '[% pc("gcc-source", "version") %]'
 container:
   use_container: 1
 var:
@@ -53,5 +53,5 @@ targets:
 
 input_files:
   - project: container-image
-  - URL: 'https://ftp.gnu.org/gnu/gcc/gcc-[% c("version") %]/gcc-[% c("version") %].tar.xz'
-    sha256sum: 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
+  - project: gcc-source
+    name: gcc
diff --git a/projects/llvm-mingw/build b/projects/llvm-mingw/build
deleted file mode 100644
index ac0f21b..0000000
--- a/projects/llvm-mingw/build
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-tar xf [% project %]-[% c("version") %].tar.gz
-mv [% project %]-[% c("version") %] [% project %]
-[% c('tar', {
-        tar_src => [ project ],
-        tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
-    }) %]
diff --git a/projects/llvm-mingw/config b/projects/llvm-mingw/config
deleted file mode 100644
index eaaed6e..0000000
--- a/projects/llvm-mingw/config
+++ /dev/null
@@ -1,5 +0,0 @@
-# vim: filetype=yaml sw=2
-version: '[% c("abbrev") %]'
-git_hash: 9f8e5cebd6dbbb7546e8917e6c59284699a48d26
-git_url: https://github.com/mstorsjo/llvm-mingw.git
-filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
diff --git a/projects/llvm-project/config b/projects/llvm-project/config
index 1f99f59..035eb69 100644
--- a/projects/llvm-project/config
+++ b/projects/llvm-project/config
@@ -1,6 +1,6 @@
 # vim: filetype=yaml sw=2
-version: 12.0.0
-git_hash: d28af7c654d8db0b68c175db5ce212d74fb5e9bc
+version: 14.0.4
+git_hash: 29f1039a7285a5c3a9c353d054140bf2556d4c4d
 git_url: https://github.com/llvm/llvm-project
 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
 
diff --git a/projects/macosx-toolchain/build b/projects/macosx-toolchain/build
index 228d02d..89739c8 100644
--- a/projects/macosx-toolchain/build
+++ b/projects/macosx-toolchain/build
@@ -49,6 +49,7 @@ cmake -G "Unix Makefiles" \
       -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
       -DCOMPILER_RT_ENABLE_IOS=OFF \
       -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
+      -DCOMPILER_RT_BUILD_ORC=OFF \
       -DCOMPILER_RT_BUILD_SANITIZERS=OFF \
       -DCOMPILER_RT_ENABLE_TVOS=OFF \
       -DCOMPILER_RT_ENABLE_WATCHOS=OFF \
diff --git a/projects/macosx-toolchain/compiler-rt-cross-compile.patch b/projects/macosx-toolchain/compiler-rt-cross-compile.patch
index 4ab2495..b3cc167 100644
--- a/projects/macosx-toolchain/compiler-rt-cross-compile.patch
+++ b/projects/macosx-toolchain/compiler-rt-cross-compile.patch
@@ -4,10 +4,10 @@ diff --git a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake b/compiler-rt
 index 28d398672..aac68bf36 100644
 --- a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
 +++ b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
-@@ -265,7 +265,7 @@ endfunction()
+@@ -390,7 +390,7 @@ endfunction()
  macro(darwin_add_builtin_libraries)
    set(DARWIN_EXCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Darwin-excludes)
- 
+
 -  set(CFLAGS "-fPIC -O3 -fvisibility=hidden -DVISIBILITY_HIDDEN -Wall -fomit-frame-pointer")
 +  set(CFLAGS "-fPIC -O3 -fvisibility=hidden -DVISIBILITY_HIDDEN -Wall -fomit-frame-pointer -target x86_64-apple-darwin -isysroot ${CMAKE_OSX_SYSROOT} -I${CMAKE_OSX_SYSROOT}/usr/include")
    set(CMAKE_C_FLAGS "")
diff --git a/projects/macosx-toolchain/compiler-rt-no-codesign.patch b/projects/macosx-toolchain/compiler-rt-no-codesign.patch
index 99d3f7e..9104ae1 100644
--- a/projects/macosx-toolchain/compiler-rt-no-codesign.patch
+++ b/projects/macosx-toolchain/compiler-rt-no-codesign.patch
@@ -4,7 +4,7 @@ Index: cmake/Modules/AddCompilerRT.cmake
 ===================================================================
 --- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake
 +++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
-@@ -321,14 +321,6 @@
+@@ -372,14 +372,6 @@ function(add_compiler_rt_runtime name type)
          set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
          set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
        endif()
@@ -13,7 +13,7 @@ Index: cmake/Modules/AddCompilerRT.cmake
 -        add_custom_command(TARGET ${libname}
 -          POST_BUILD  
 -          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
--          WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
+-          WORKING_DIRECTORY ${COMPILER_RT_OUTPUT_LIBRARY_DIR}
 -        )
 -      endif()
      endif()
diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build
index 81f7567..4d6e783 100644
--- a/projects/mingw-w64-clang/build
+++ b/projects/mingw-w64-clang/build
@@ -12,15 +12,10 @@ cd $builddir
 tar -xf $rootdir/mingw-w64-clang-[% c('version') %].tar.gz
 mv mingw-w64-clang-[% c('version') %] mingw-w64-clang
 tar -xf $rootdir/[% c('input_files_by_name/llvm-project') %]
-tar -xf $rootdir/[% c('input_files_by_name/llvm-mingw') %]
 
 # Adding the wrappers and symlinks we need
 cd $distdir/bin
-exception_flags=""
-[% IF c("var/windows-i686") %]
-  exception_flags="-fsjlj-exceptions"
-[% END -%]
-compiler_flags="--sysroot \$DIR/../[% c("arch") %]-w64-mingw32 -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld $exception_flags -fuse-cxa-atexit -Qunused-arguments"
+compiler_flags="--sysroot \$DIR/../[% c("arch") %]-w64-mingw32 -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld -fuse-cxa-atexit -Qunused-arguments"
 
 cat <<EOF >[% c("arch") %]-w64-mingw32-clang
 #!/bin/sh
@@ -40,7 +35,7 @@ ln -s llvm-nm [% c("arch") %]-w64-mingw32-nm
 ln -s llvm-strip [% c("arch") %]-w64-mingw32-strip
 ln -s llvm-readobj [% c("arch") %]-w64-mingw32-readobj
 ln -s llvm-objcopy [% c("arch") %]-w64-mingw32-objcopy
-./clang $builddir/llvm-mingw/wrappers/windres-wrapper.c -O2 -Wl,-s -o [% c("arch") %]-w64-mingw32-windres
+ln -s llvm-windres [% c("arch") %]-w64-mingw32-windres
 
 # Building mingw-w64
 export PATH="$distdir/bin:/var/tmp/dist/cmake/bin:$PATH"
@@ -62,6 +57,8 @@ cd $builddir/mingw-w64-clang
 patch -p1 < $rootdir/mingw-winrt.patch
 patch -p1 < $rootdir/mingw-dwrite_3.patch
 patch -p1 < $rootdir/mingw-unknown.patch
+patch -p1 < $rootdir/mingw-uiautomationcoreapi.patch
+patch -p1 < $rootdir/mingw-windows_foundation.patch
 
 cd mingw-w64-headers
 mkdir build && cd build
@@ -104,15 +101,18 @@ cmake -DCMAKE_BUILD_TYPE=Release \
       -DCMAKE_C_COMPILER_TARGET=$compiler_rt_machine-windows-gnu \
       -DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \
       $builddir/clang-source/compiler-rt/lib/builtins
-  make -j[% c("num_procs") %]
-  rtdir=$distdir/lib/clang/[% pc("llvm-project", "version") %]/lib/windows
-  mkdir -p $rtdir
-  cp lib/windows/libclang_rt.builtins-$compiler_rt_machine.a $rtdir/
-
-# libunwind
-cd $builddir/clang-source/libunwind
-mkdir build && cd build
-cmake -DCMAKE_BUILD_TYPE=Release \
+make -j[% c("num_procs") %]
+rtdir=$distdir/lib/clang/[% pc("llvm-project", "version") %]/lib/windows
+mkdir -p $rtdir
+cp lib/windows/libclang_rt.builtins-$compiler_rt_machine.a $rtdir/
+
+# libc++, libc++abi and libunwind now are compiled together
+# See https://libcxx.llvm.org/BuildingLibcxx.html
+cd $builddir/clang-source
+mkdir build
+cmake -G "Unix Makefiles" -S runtimes -B build \
+      -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
+      -DCMAKE_BUILD_TYPE=Release \
       -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
       -DCMAKE_C_COMPILER=$CC \
       -DCMAKE_CXX_COMPILER=$CXX \
@@ -127,58 +127,18 @@ cmake -DCMAKE_BUILD_TYPE=Release \
       -DLLVM_NO_OLD_LIBSTDCXX=TRUE \
       -DCXX_SUPPORTS_CXX11=TRUE \
       -DCXX_SUPPORTS_CXX_STD=True \
+      -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -DPSAPI_VERSION=2 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_HAS_THREAD_API_WIN32 -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS" \
+      -DCMAKE_C_FLAGS="-Wno-dll-attribute-on-redeclaration" \
       -DLIBUNWIND_USE_COMPILER_RT=TRUE \
       -DLIBUNWIND_ENABLE_THREADS=TRUE \
       -DLIBUNWIND_ENABLE_SHARED=FALSE \
       -DLIBUNWIND_ENABLE_CROSS_UNWINDING=FALSE \
-      -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/clang-source/libcxx/include -DPSAPI_VERSION=2" \
-      -DCMAKE_C_FLAGS="-Wno-dll-attribute-on-redeclaration" \
-      $builddir/clang-source/libunwind
-make -j[% c("num_procs") %]
-make -j[% c("num_procs") %] install
-
-# libcxxabi
-cd $builddir/clang-source/libcxxabi
-mkdir build && cd build
-cmake -DCMAKE_BUILD_TYPE=Release \
-      -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
-      -DCMAKE_C_COMPILER=$CC \
-      -DCMAKE_CXX_COMPILER=$CXX \
-      -DCMAKE_CROSSCOMPILING=TRUE \
-      -DCMAKE_SYSTEM_NAME=Windows \
-      -DCMAKE_C_COMPILER_WORKS=TRUE \
-      -DCMAKE_CXX_COMPILER_WORKS=TRUE \
-      -DCMAKE_SYSROOT=$distdir/[% c("arch") %]-w64-mingw32 \
-      -DLLVM_COMPILER_CHECKED=True \
-      -DCMAKE_AR=$distdir/bin/llvm-ar \
-      -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \
       -DLIBCXXABI_USE_COMPILER_RT=ON \
       -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
       -DLIBCXXABI_ENABLE_THREADS=ON \
       -DLIBCXXABI_TARGET_TRIPLE=[% c("arch") %]-w64-mingw32 \
       -DLIBCXXABI_ENABLE_SHARED=OFF \
       -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/clang-source/libcxx/include \
-      -DLLVM_NO_OLD_LIBSTDCXX=TRUE \
-      -DCXX_SUPPORTS_CXX11=TRUE \
-      -DCXX_SUPPORTS_CXX_STD=True \
-      -DCMAKE_CXX_FLAGS="-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_HAS_THREAD_API_WIN32" \
-      $builddir/clang-source/libcxxabi
-make -j[% c("num_procs") %] VERBOSE=1
-
-# libcxx
-cd $builddir/clang-source/libcxx
-mkdir build && cd build
-cmake -DCMAKE_BUILD_TYPE=Release \
-      -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
-      -DCMAKE_C_COMPILER=$CC \
-      -DCMAKE_CXX_COMPILER=$CXX \
-      -DCMAKE_CROSSCOMPILING=TRUE \
-      -DCMAKE_SYSTEM_NAME=Windows \
-      -DCMAKE_C_COMPILER_WORKS=TRUE \
-      -DCMAKE_CXX_COMPILER_WORKS=TRUE \
-      -DLLVM_COMPILER_CHECKED=True \
-      -DCMAKE_AR=$distdir/bin/llvm-ar \
-      -DCMAKE_RANLIB=$distdir/bin/llvm-ranlib \
       -DLIBCXX_USE_COMPILER_RT=ON \
       -DLIBCXX_INSTALL_HEADERS=ON \
       -DLIBCXX_ENABLE_EXCEPTIONS=ON \
@@ -194,10 +154,10 @@ cmake -DCMAKE_BUILD_TYPE=Release \
       -DLIBCXX_CXX_ABI=libcxxabi \
       -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/clang-source/libcxxabi/include \
       -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/clang-source/libcxxabi/build/lib \
-      -DCMAKE_CXX_FLAGS="-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS" \
-      $builddir/clang-source/libcxx
+
+cd build
 make -j[% c("num_procs") %] VERBOSE=1
-make -j[% c("num_procs") %] install
+make install
 
 # libc++.a depends on libunwind.a. While the linker will automatically link to
 # libc++.a in C++ mode, it won't pick libunwind.a, requiring the caller to
diff --git a/projects/mingw-w64-clang/config b/projects/mingw-w64-clang/config
index 83d0ed7..be8dcf3 100644
--- a/projects/mingw-w64-clang/config
+++ b/projects/mingw-w64-clang/config
@@ -1,7 +1,7 @@
 # vim: filetype=yaml sw=2
 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
 git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64
-git_hash: cdb052f1d4056cd510cb83197b55868427b87476
+git_hash: aa08f56da559016f10336dddca85d59f9bdc9e02
 version: '[% c("abbrev") %]'
 container:
   use_container: 1
@@ -20,8 +20,10 @@ input_files:
     name: cmake
   - project: llvm-project
     name: llvm-project
-  - project: llvm-mingw
-    name: llvm-mingw
+  - project: gcc-source
+    name: gcc
   - filename: mingw-winrt.patch
   - filename: mingw-dwrite_3.patch
   - filename: mingw-unknown.patch
+  - filename: mingw-uiautomationcoreapi.patch
+  - filename: mingw-windows_foundation.patch
diff --git a/projects/mingw-w64-clang/mingw-uiautomationcoreapi.patch b/projects/mingw-w64-clang/mingw-uiautomationcoreapi.patch
new file mode 100644
index 0000000..3635497
--- /dev/null
+++ b/projects/mingw-w64-clang/mingw-uiautomationcoreapi.patch
@@ -0,0 +1,13 @@
+diff --git a/mingw-w64-headers/include/uiautomationcoreapi.h b/mingw-w64-headers/include/uiautomationcoreapi.h
+index 0c0bcb064..53e62d11b 100644
+--- a/mingw-w64-headers/include/uiautomationcoreapi.h
++++ b/mingw-w64-headers/include/uiautomationcoreapi.h
+@@ -66,7 +66,7 @@ HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value);
+ int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid);
+ WINBOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj);
+ HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id);
+-HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT old, VARIANT new);
++HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT old, VARIANT new_);
+ void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback);
+ LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov);
+ WINBOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj);
diff --git a/projects/mingw-w64-clang/mingw-windows_foundation.patch b/projects/mingw-w64-clang/mingw-windows_foundation.patch
new file mode 100644
index 0000000..61e7a60
--- /dev/null
+++ b/projects/mingw-w64-clang/mingw-windows_foundation.patch
@@ -0,0 +1,14 @@
+diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
+index 97e028b89..604329f08 100644
+--- a/mingw-w64-headers/include/windows.foundation.h
++++ b/mingw-w64-headers/include/windows.foundation.h
+@@ -87,7 +87,8 @@ extern "C" {
+ namespace ABI {
+     namespace Windows {
+         namespace Foundation {
+-            typedef enum PropertyType PropertyType;
++            // ISO C++ forbids forward references to 'enum' types
++            // typedef enum PropertyType PropertyType;
+         }
+     }
+ }
diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build
index 9ab8450..336d7ce 100644
--- a/projects/mingw-w64/build
+++ b/projects/mingw-w64/build
@@ -21,7 +21,7 @@ make install
 cd /var/tmp/build
 mkdir gcc
 cd gcc
-tar xJf $rootdir/gcc-[% c("var/gcc_version") %].tar.xz
+tar -xf $rootdir/[% c("input_files_by_name/gcc") %]
 # LDFLAGS_FOR_TARGET does not work for some reason. Thus, we take
 # CFLAGS_FOR_TARGET.
 export CFLAGS_FOR_TARGET="-Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-insert-timestamp [% c('var/flag_noSEH') %]"
@@ -34,7 +34,8 @@ mkdir -p /var/tmp/build/builddir/mingw-w64/mingw-w64-crt32
 cd /var/tmp/build/builddir/mingw-w64/mingw-w64-crt32
 /var/tmp/build/[% project %]-[% c("version") %]/mingw-w64-crt/configure \
                  --host=[% c("arch") %]-w64-mingw32 --prefix=$distdir/[% c("arch") %]-w64-mingw32
-make -j[% c("num_procs") %]
+# Do not compile in parallel because we had some failures when doing so
+make
 make install
 
 mkdir -p /var/tmp/build/builddir/mingw-w64/mingw-w64-pthread
diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config
index c4935c4..a150eef 100644
--- a/projects/mingw-w64/config
+++ b/projects/mingw-w64/config
@@ -1,12 +1,11 @@
 # vim: filetype=yaml sw=2
 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
 git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64
-git_hash: cdb052f1d4056cd510cb83197b55868427b87476
-version: '[% c("abbrev") %]'
+git_hash: aa08f56da559016f10336dddca85d59f9bdc9e02
+version: '[% pc("gcc-source", "version") %]'
 container:
   use_container: 1
 var:
-  gcc_version: 10.3.0
   deps:
     - automake
     - build-essential
@@ -29,7 +28,7 @@ targets:
         - g++-mingw-w64-x86-64
 input_files:
   - project: container-image
-  - URL: 'https://ftp.gnu.org/gnu/gcc/gcc-[% c("var/gcc_version") %]/gcc-[% c("var/gcc_version") %].tar.xz'
-    sha256sum: 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
+  - project: gcc-source
+    name: gcc
   - name: binutils
     project: binutils
diff --git a/projects/rust/build b/projects/rust/build
index 23b3655..c0877b3 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -41,15 +41,6 @@ mkdir /var/tmp/build
 tar -C /var/tmp/build -xf  [% c('input_files_by_name/rust') %]
 cd /var/tmp/build/rustc-[% c('version') %]-src
 
-[% IF ! c("var/android") -%]
-  # Patches for fixing:
-  #  https://github.com/rust-lang/rust/issues/86436
-  #  https://github.com/rust-lang/rust/pull/86568
-  #  https://github.com/rust-lang/rust/issues/86999
-  # This can be removed when updating to >= 1.54.0.
-  patch -p1 < $rootdir/fix-build-1.53.0.patch
-[% END -%]
-
 mkdir build
 cd build
 ../configure --prefix=$distdir --disable-docs --disable-compiler-docs [% c("var/configure_opt") %]
diff --git a/projects/rust/config b/projects/rust/config
index 981592d..5360be3 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -5,8 +5,8 @@ container:
   use_container: 1
 
 var:
-  current_version: 1.53.0
-  previous_version: 1.52.0
+  current_version: 1.60.0
+  previous_version: 1.59.0
 
 targets:
   android:
@@ -96,8 +96,3 @@ input_files:
   - project: python
     name: python
     enable: '[% c("var/linux") %]'
-
-    # Fix for https://github.com/rust-lang/rust/issues/86436
-    # Taken from https://github.com/rust-lang/rust/pull/86568 (merged it 1.54.0)
-  - filename: fix-build-1.53.0.patch
-    enable: '[% ! c("var/android") %]'
diff --git a/projects/rust/fix-build-1.53.0.patch b/projects/rust/fix-build-1.53.0.patch
deleted file mode 100644
index 4b4f092..0000000
--- a/projects/rust/fix-build-1.53.0.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-commit 601d24810e89efd42f7cd69d4a7ccecd4e35364d
-Author: Eric Huss <eric at huss.org>
-Date:   Tue Jun 22 22:10:25 2021 -0700
-
-    Don't dist miri on stable or beta.
-
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index 71ed0af4a7c..e0c33f73577 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -1171,6 +1171,9 @@ impl Step for Miri {
-     }
- 
-     fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
-+        if !builder.build.unstable_features() {
-+            return None;
-+        }
-         let compiler = self.compiler;
-         let target = self.target;
-         assert!(builder.config.extended);
-
-
-commit 6aa79a34d87252deaae11e75663e5740a22f14ea
-Author: Eric Huss <eric at huss.org>
-Date:   Wed Jun 23 07:03:42 2021 -0700
-
-    Comment and include rust-analyzer.
-
-diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
-index e0c33f73577..19895baf08f 100644
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -1072,6 +1072,12 @@ impl Step for RustAnalyzer {
-     }
- 
-     fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
-+        // This prevents rust-analyzer from being built for "dist" or "install"
-+        // on the stable/beta channels. It is a nightly-only tool and should
-+        // not be included.
-+        if !builder.build.unstable_features() {
-+            return None;
-+        }
-         let compiler = self.compiler;
-         let target = self.target;
-         assert!(builder.config.extended);
-@@ -1171,6 +1177,9 @@ impl Step for Miri {
-     }
- 
-     fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
-+        // This prevents miri from being built for "dist" or "install"
-+        // on the stable/beta channels. It is a nightly-only tool and should
-+        // not be included.
-         if !builder.build.unstable_features() {
-             return None;
-         }
-
-
-   Disable rust-analyzer
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index cff1ec843ff..3767b0387a0 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -482,7 +482,6 @@ impl<'a> Builder<'a> {
-                 install::Std,
-                 install::Cargo,
-                 install::Rls,
--                install::RustAnalyzer,
-                 install::Rustfmt,
-                 install::RustDemangler,
-                 install::Clippy,
-diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
-index 13ee909afd5..a38fc9e95eb 100644
---- a/src/bootstrap/install.rs
-+++ b/src/bootstrap/install.rs
-@@ -164,12 +164,6 @@ install!((self, builder, _config),
-             );
-         }
-     };
--    RustAnalyzer, "rust-analyzer", Self::should_build(_config), only_hosts: true, {
--        let tarball = builder
--            .ensure(dist::RustAnalyzer { compiler: self.compiler, target: self.target })
--            .expect("missing rust-analyzer");
--        install_sh(builder, "rust-analyzer", self.compiler.stage, Some(self.target), &tarball);
--    };
-     Clippy, "clippy", Self::should_build(_config), only_hosts: true, {
-         let tarball = builder.ensure(dist::Clippy { compiler: self.compiler, target: self.target });
-         install_sh(builder, "clippy", self.compiler.stage, Some(self.target), &tarball);
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 809c524..efa5d4a 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
 # vim: filetype=yaml sw=2
-version: 0.2.35
+version: 0.2.38
 git_url: https://git.torproject.org/tor-launcher.git
 git_hash: '[% c("version") %]'
 gpg_keyring: torbutton.gpg

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tbb-commits mailing list