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@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-%5B% 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-%5B% 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-%5B% 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@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@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