This is an automated email from the git hooks/post-receive script.
pierov pushed a change to branch main in repository builders/tor-browser-build.
from cc37607 Bug 40614: Update release templates with feedback from ma1 new 3f2459a Revert "Bug 40603: Revert cbindgen update for desktop" new 5831fbe Bug 40595: Update config and toolchains for 102 new 0fa09e9 Bug 29318: Use Clang for everything on Windows new 3ad4275 Bug 40591: Fix Rust 1.60 on Debian Jessie new 3448858 Bug 29322: Use mingw-w64/clang toolchain to build OpenSSL new 791d781 Bug 29321: Use mingw-w64/clang toolchain to build tor new ca0d30c Bug 40409: Upgrade NSIS to 3.08 new c4c7d4e Bug 41152: Do not merge libc++ and libunwind
The 8 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
Summary of changes: projects/cbindgen/build | 3 + projects/cbindgen/config | 20 +-- projects/clang/build | 14 ++- projects/firefox/build | 19 ++- projects/firefox/config | 15 ++- projects/firefox/list_toolchain_updates_checks | 55 ++++---- projects/fxc2/config | 3 - projects/gcc-source/build | 2 + projects/gcc-source/config | 7 ++ projects/gcc/build | 2 +- projects/gcc/config | 6 +- projects/go/build | 2 +- projects/libevent/build | 3 + projects/libevent/config | 3 + 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 | 138 +++++++++------------ projects/mingw-w64-clang/config | 9 +- projects/mingw-w64-clang/libssp-Makefile | 25 ++++ .../mingw-uiautomationcoreapi.patch | 13 ++ .../mingw-w64-clang/mingw-windows_foundation.patch | 14 +++ projects/mingw-w64/build | 5 +- projects/mingw-w64/config | 9 +- projects/nsis/build | 6 +- projects/nsis/config | 10 +- projects/openssl/build | 11 +- projects/rust/build | 41 +++--- projects/rust/config | 57 ++++----- projects/rust/fix-build-1.53.0.patch | 88 ------------- projects/tor-launcher/config | 2 +- projects/tor/build | 14 +-- projects/zlib/build | 4 +- rbm.conf | 8 +- 37 files changed, 308 insertions(+), 326 deletions(-) create mode 100644 projects/gcc-source/build create mode 100644 projects/gcc-source/config delete mode 100644 projects/llvm-mingw/build delete mode 100644 projects/llvm-mingw/config create mode 100644 projects/mingw-w64-clang/libssp-Makefile create mode 100644 projects/mingw-w64-clang/mingw-uiautomationcoreapi.patch create mode 100644 projects/mingw-w64-clang/mingw-windows_foundation.patch delete mode 100644 projects/rust/fix-build-1.53.0.patch
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 3f2459a3b3c2fdc006522737b109ce84cc63d790 Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Wed Aug 17 10:35:56 2022 +0200
Revert "Bug 40603: Revert cbindgen update for desktop"
This reverts commit f686ad2d24fddc4c3d86f2f8b74e43c5778fdf26. --- projects/cbindgen/config | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/projects/cbindgen/config b/projects/cbindgen/config index 3f9e38d..dbf9d77 100644 --- a/projects/cbindgen/config +++ b/projects/cbindgen/config @@ -7,11 +7,10 @@ container: use_container: 1
var: - cbindgen_version: 0.19.0 - cbindgen_git_hash: d9e490ce8b836194595bd30611253a7028059da2 - cbindgen_vendor_hash: 7d99c195b180e28ca7499d8744d020b864f952a5ba699716707aec9a06b4ee8b - cbindgen_vendor_people_tpo_user: boklm - vendor_compress: bz2 + cbindgen_version: 0.23.0 + cbindgen_git_hash: 798cfab52bced65a749443faa16990ec3a8e0cfe + cbindgen_vendor_hash: 90fc3483753d296c6fc1a406f5cae412f7f74cd6719e9c800a2ffc6cd18b6e69 + cbindgen_vendor_people_tpo_user: pierov
input_files: - project: container-image @@ -21,18 +20,9 @@ input_files: # Use `make cargo_vendor-cbindgen` or `make cargo_vendor-cbindgen-android` # (for the Android version) to re-generate the vendor tarball - name: cbindgen_vendor - URL: https://people.torproject.org/~%5B% c('var/cbindgen_vendor_people_tpo_user') %]/mirrors/sources/cbindgen-vendor-[% c('version') %].tar.[% c('var/vendor_compress') %] + URL: https://people.torproject.org/~%5B% c('var/cbindgen_vendor_people_tpo_user') %]/mirrors/sources/cbindgen-vendor-[% c('version') %].tar.xz sha256sum: '[% c("var/cbindgen_vendor_hash") %]'
-targets: - android: - var: - cbindgen_version: 0.23.0 - cbindgen_git_hash: 798cfab52bced65a749443faa16990ec3a8e0cfe - cbindgen_vendor_hash: 90fc3483753d296c6fc1a406f5cae412f7f74cd6719e9c800a2ffc6cd18b6e69 - cbindgen_vendor_people_tpo_user: pierov - vendor_compress: xz - steps: cargo_vendor: filename: '[% project %]-vendor-[% c("version") %].tar.xz'
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
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 0fa09e9c671690c9c8454aaceb401744e47456e9 Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Wed Aug 10 18:40:14 2022 +0200
Bug 29318: Use Clang for everything on Windows --- projects/firefox/build | 3 --- projects/firefox/config | 1 - projects/fxc2/config | 3 --- projects/go/build | 2 +- projects/libevent/build | 3 +++ projects/libevent/config | 3 +++ projects/mingw-w64-clang/build | 38 ++++++++++++++++++++++++++++++++ projects/mingw-w64-clang/config | 1 + projects/mingw-w64-clang/libssp-Makefile | 25 +++++++++++++++++++++ projects/nsis/config | 6 +++++ projects/zlib/build | 4 ++-- rbm.conf | 8 +++---- 12 files changed, 82 insertions(+), 15 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build index a6d42b3..5eea651 100644 --- a/projects/firefox/build +++ b/projects/firefox/build @@ -9,9 +9,6 @@ mkdir -p [% dest_dir _ '/' _ c('filename') %] # Setting up fxc2 tar -C /var/tmp/dist -xf [% c('input_files_by_name/fxc2') %] export PATH="/var/tmp/dist/fxc2/bin:$PATH" - # Setting up stack protector support - tar -C /var/tmp/dist -xf [% c('input_files_by_name/mingw-w64') %] - cp /var/tmp/dist/mingw-w64/gcclibs/{libssp.a,libssp_nonshared.a} /var/tmp/dist/mingw-w64-clang/[% c("arch") %]-w64-mingw32/lib/ [% END -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %] diff --git a/projects/firefox/config b/projects/firefox/config index f62523a..a1135c9 100644 --- a/projects/firefox/config +++ b/projects/firefox/config @@ -122,7 +122,6 @@ targets: - python3 - python3-distutils - wine - compiler: mingw-w64-clang
windows-i686: var: diff --git a/projects/fxc2/config b/projects/fxc2/config index 735497b..d73911f 100644 --- a/projects/fxc2/config +++ b/projects/fxc2/config @@ -6,9 +6,6 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' container: use_container: 1
-var: - compiler: mingw-w64-clang - input_files: - project: container-image - name: '[% c("var/compiler") %]' diff --git a/projects/go/build b/projects/go/build index 9da7cf2..5371f50 100644 --- a/projects/go/build +++ b/projects/go/build @@ -58,7 +58,7 @@ cd /var/tmp/dist/go/src # https://github.com/golang/go/issues/15457 CC_FOR_TARGET="$(pwd)/cc-for-target" echo "#!/bin/sh" > "$CC_FOR_TARGET" - echo "exec [% c("arch") %]-w64-mingw32-gcc [% c("var/CFLAGS") %] [% c("var/LDFLAGS") %] "$@"" >> "$CC_FOR_TARGET" + echo "exec [% c("arch") %]-w64-mingw32-cc [% c("var/CFLAGS") %] [% c("var/LDFLAGS") %] "$@"" >> "$CC_FOR_TARGET" chmod +x "$CC_FOR_TARGET" CGO_ENABLED=1 CC_FOR_TARGET="$CC_FOR_TARGET" CC= CFLAGS= LDFLAGS= ./make.bash [% ELSIF c("var/android") -%] diff --git a/projects/libevent/build b/projects/libevent/build index 4708f9d..ea8cd38 100644 --- a/projects/libevent/build +++ b/projects/libevent/build @@ -5,6 +5,9 @@ distdir=/var/tmp/dist/[% project %] mkdir -p /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] +[% IF c("var/windows") -%] + export CC=[% c("arch") %]-w64-mingw32-cc +[% END -%] ./autogen.sh ./configure [% c("var/configure_opt") %] --disable-libevent-regress --disable-samples --disable-openssl --prefix=$distdir [% IF c("var/osx") -%] diff --git a/projects/libevent/config b/projects/libevent/config index 9afb920..1dcdc79 100644 --- a/projects/libevent/config +++ b/projects/libevent/config @@ -16,6 +16,9 @@ targets: var: arch_deps: - faketime + windows: + var: + configure_opt_project: --disable-shared android: var: configure_opt_project: --disable-shared diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build index 4d6e783..92a47cf 100644 --- a/projects/mingw-w64-clang/build +++ b/projects/mingw-w64-clang/build @@ -31,8 +31,12 @@ DIR="$(cd "$(dirname "$0")" && pwd)" EOF chmod +x [% c("arch") %]-w64-mingw32-clang++
+ln -s [% c("arch") %]-w64-mingw32-clang [% c("arch") %]-w64-mingw32-cc +ln -s [% c("arch") %]-w64-mingw32-clang++ [% c("arch") %]-w64-mingw32-cxx +ln -s llvm-ar [% c("arch") %]-w64-mingw32-ar ln -s llvm-nm [% c("arch") %]-w64-mingw32-nm ln -s llvm-strip [% c("arch") %]-w64-mingw32-strip +ln -s llvm-ranlib [% c("arch") %]-w64-mingw32-ranlib ln -s llvm-readobj [% c("arch") %]-w64-mingw32-readobj ln -s llvm-objcopy [% c("arch") %]-w64-mingw32-objcopy ln -s llvm-windres [% c("arch") %]-w64-mingw32-windres @@ -177,6 +181,40 @@ EOF
merge_libs $distdir/[% c("arch") %]-w64-mingw32/lib/libc++.a $distdir/[% c("arch") %]-w64-mingw32/lib/libunwind.a
+# libssp +# See build-libssp.sh in llvm-mingw +cd $rootdir +tar -xf [% c('input_files_by_name/gcc') %] +cd gcc-*/libssp +cp $rootdir/libssp-Makefile Makefile + +# gcc/libssp's configure script runs checks for flags that clang doesn't +# implement. We actually just need to set a few HAVE defines and compile +# the .c sources. +cp config.h.in config.h +for i in HAVE_FCNTL_H HAVE_INTTYPES_H HAVE_LIMITS_H HAVE_MALLOC_H \ + HAVE_MEMMOVE HAVE_MEMORY_H HAVE_MEMPCPY HAVE_STDINT_H HAVE_STDIO_H \ + HAVE_STDLIB_H HAVE_STRINGS_H HAVE_STRING_H HAVE_STRNCAT HAVE_STRNCPY \ + HAVE_SYS_STAT_H HAVE_SYS_TYPES_H HAVE_UNISTD_H HAVE_USABLE_VSNPRINTF \ + HAVE_HIDDEN_VISIBILITY; do + cat config.h | sed 's/^#undef '$i'$/#define '$i' 1/' > tmp + mv tmp config.h +done +cat ssp/ssp.h.in | sed 's/@ssp_have_usable_vsnprintf@/define/' > ssp/ssp.h + +arch='[% c("arch") %]' +mkdir -p build-$arch +cd build-$arch +make -f ../Makefile -j[% c("num_procs") %] CROSS=$arch-w64-mingw32- +mkdir -p "$distdir/$arch-w64-mingw32/bin" +cp libssp.a "$distdir/$arch-w64-mingw32/lib" +cp libssp_nonshared.a "$distdir/$arch-w64-mingw32/lib" +# We are interested only in static libraries, but if needed the dynamic ones +# can be used, too, just by uncommenting the following two lines. +# cp libssp.dll.a "$distdir/$arch-w64-mingw32/lib" +# cp libssp-0.dll "$distdir/$arch-w64-mingw32/bin" +cd .. + # Packaging up everything cd $distdir cd .. diff --git a/projects/mingw-w64-clang/config b/projects/mingw-w64-clang/config index be8dcf3..9c052eb 100644 --- a/projects/mingw-w64-clang/config +++ b/projects/mingw-w64-clang/config @@ -27,3 +27,4 @@ input_files: - filename: mingw-unknown.patch - filename: mingw-uiautomationcoreapi.patch - filename: mingw-windows_foundation.patch + - filename: libssp-Makefile diff --git a/projects/mingw-w64-clang/libssp-Makefile b/projects/mingw-w64-clang/libssp-Makefile new file mode 100644 index 0000000..867ce0d --- /dev/null +++ b/projects/mingw-w64-clang/libssp-Makefile @@ -0,0 +1,25 @@ +# Taken from llvm-mingw +SRC_PATH=$(word 1, $(dir $(MAKEFILE_LIST))) +vpath %.c $(SRC_PATH) + +CC = $(CROSS)clang +AR = llvm-ar + +CFLAGS = -O2 -Wall -Wundef -I$(SRC_PATH) -D_FORTIFY_SOURCE=0 -D__SSP_FORTIFY_LEVEL=0 + +SOURCES = $(filter-out ssp-local.c, $(patsubst $(SRC_PATH)%,%,$(wildcard $(SRC_PATH)*.c))) +OBJS = $(SOURCES:%.c=%.o) + +all: libssp.a libssp_nonshared.a libssp-0.dll + +libssp.a: $(OBJS) + $(AR) rcs $@ $+ + +libssp-0.dll: $(OBJS) + $(CC) -shared -o $@ $+ -Wl,--out-implib,libssp.dll.a + +libssp_nonshared.a: ssp-local.o + $(AR) rcs $@ $+ + +clean: + rm -f *.a *.o *.dll diff --git a/projects/nsis/config b/projects/nsis/config index a7d9d13..d6640c0 100644 --- a/projects/nsis/config +++ b/projects/nsis/config @@ -11,6 +11,12 @@ var: - zlib1g-dev - libcppunit-dev - xsltproc + # NSIS has an assembly part that cannot be compiled with Clang. + # Mozilla uses -fno-integrated-as (see + # taskcluster/scripts/misc/build-mingw32-nsis.sh) but for some reason this + # does not seem to work for us, so just keep GCC for the moment, since we are + # already using it for Rust anyway. + compiler: mingw-w64
input_files: - project: container-image diff --git a/projects/zlib/build b/projects/zlib/build index 55381dd..2a122a5 100644 --- a/projects/zlib/build +++ b/projects/zlib/build @@ -10,8 +10,8 @@ cd /var/tmp/build/[% project %]-[% c('version') %] patch -p1 < $rootdir/0001-Fix-configure-issue-that-discarded-provided-CC-defin.patch
[% IF c("var/windows") -%] - make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]" - make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]" install + make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- CC=[% c("arch") %]-w64-mingw32-cc -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]" + make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- CC=[% c("arch") %]-w64-mingw32-cc -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]" install [% END -%]
[% IF c("var/android") -%] diff --git a/rbm.conf b/rbm.conf index dc155fa..f4224f6 100644 --- a/rbm.conf +++ b/rbm.conf @@ -483,8 +483,6 @@ targets: windows-x86_64: 1 windows-i686: 0 osname: windows-x86_64 - # HEASLR is 64 bit only (see bug 12968) - flag_HEASLR: '-Wl,--high-entropy-va' windows-i686: arch: i686 var: @@ -501,9 +499,9 @@ targets: arch: amd64 configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]" [% c("var/configure_opt_project") %]' CFLAGS: '-fstack-protector-strong -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security [% c("var/flag_mwindows") %]' - LDFLAGS: '-Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs [% c("var/flag_HEASLR") %] [% c("var/flag_noSEH") %] [% c("var/flag_mwindows") %]' - flag_mwindows: '-mwindows' - compiler: mingw-w64 + LDFLAGS: '-Wl,--no-insert-timestamp [% c("var/flag_noSEH") %] [% c("var/flag_mwindows") %]' + flag_mwindows: '-Wl,--subsystem,windows' + compiler: mingw-w64-clang deps: - build-essential - python3
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 3ad4275c64354edb556efaaed6b5d2009b136666 Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Fri Aug 5 14:26:13 2022 +0200
Bug 40591: Fix Rust 1.60 on Debian Jessie
Enable jemalloc when we built it.
Fixes also bug 40592: reuse the LLVM we already build. --- projects/cbindgen/build | 3 +++ projects/rust/build | 32 ++++++++++++++++++++++++------ projects/rust/config | 52 +++++++++++++++++++++++++++---------------------- 3 files changed, 58 insertions(+), 29 deletions(-)
diff --git a/projects/cbindgen/build b/projects/cbindgen/build index ee54a09..c572f46 100644 --- a/projects/cbindgen/build +++ b/projects/cbindgen/build @@ -5,6 +5,9 @@ builddir=/var/tmp/build/[% project %] mkdir -p $distdir/[% project %] tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/rust') %] export PATH="/var/tmp/dist/rust/bin:$PATH" +[% IF c("var/linux") -%] + export LD_LIBRARY_PATH="/var/tmp/dist/rust/lib:$LD_LIBRARY_PATH" +[% END -%] mkdir -p /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
diff --git a/projects/rust/build b/projects/rust/build index c0877b3..d5b600e 100644 --- a/projects/rust/build +++ b/projects/rust/build @@ -4,16 +4,27 @@ distdir=/var/tmp/dist/[% project %] mkdir -p $distdir tar -C /var/tmp/dist -xf [% c('input_files_by_name/cmake') %] export PATH="/var/tmp/dist/cmake/bin:$PATH" -tar -C /var/tmp/dist -xf [% c('input_files_by_name/ninja') %] -export PATH=/var/tmp/dist/ninja:$PATH -tar -C /var/tmp/dist -xf [% c('input_files_by_name/previous_rust') %] -cd /var/tmp/dist/rust-[% c('var/previous_version') %]-x86_64-unknown-linux-gnu -./install.sh --prefix=$distdir-rust-old -export PATH="$distdir-rust-old/bin:$PATH" +tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %] +export PATH=/var/tmp/dist/binutils/bin:$PATH +tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust_prebuilt') %] +cd /var/tmp/dist/rust-[% c('version') %]-x86_64-unknown-linux-gnu +./install.sh --prefix=$distdir-rust-prebuilt +export PATH="$distdir-rust-prebuilt/bin:$PATH"
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] +[% IF c("var/linux") || c("var/android") || c("var/windows") -%] + # See the config file for more details on why we do that also on Windows + tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/clang') %] + export PATH=/var/tmp/dist/clang/bin:$PATH +[% END -%] [% IF c("var/linux") -%] [% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %] + export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config" + export CC=clang + export CXX=clang++ + export CFLAGS='--gcc-toolchain=/var/tmp/dist/gcc' + export CXXFLAGS='--gcc-toolchain=/var/tmp/dist/gcc' + export RUSTFLAGS="-L/var/tmp/dist/gcc/lib64" [% END -%]
[% IF c("var/osx") %] @@ -48,6 +59,15 @@ cd build make -j[% c("num_procs") %] make install cd /var/tmp/dist + +[% IF c("var/linux") -%] + # When we compile some Rust-only projects such as cbindgen, we do not include + # the C/C++ compilers and their modern libstdc++ library. + # For simplicity, we keep it also with Rust, and add it to LD_LIBRARY_PATH + # if needed. + cp gcc/lib64/libstdc++.so* rust/lib/ +[% END -%] + [% c('tar', { tar_src => [ project ], tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), diff --git a/projects/rust/config b/projects/rust/config index 5360be3..83f794c 100644 --- a/projects/rust/config +++ b/projects/rust/config @@ -1,23 +1,17 @@ # vim: filetype=yaml sw=2 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' -version: '[% c("var/current_version") %]' +version: '1.60.0' container: use_container: 1
-var: - current_version: 1.60.0 - previous_version: 1.59.0 - targets: android: var: - current_version: 1.60.0 - previous_version: 1.59.0 arch_deps: - libssl-dev - pkg-config - zlib1g-dev - configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,armv7-linux-androideabi,thumbv7neon-linux-androideabi,aarch64-linux-android,i686-linux-android,x86_64-linux-android --set=target.armv7-linux-androideabi.cc=armv7a-linux-androideabi16-clang --set=target.armv7-linux-androideabi.ar=armv7a-linux-androideabi-ar --set=target.thumbv7neon-linux-androideabi.cc=armv7a-linux-androideabi16-clang --set [...] + configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --llvm-root=/var/tmp/dist/clang --set rust.jemalloc --target=x86_64-unknown-linux-gnu,armv7-linux-androideabi,thumbv7neon-linux-androideabi,aarch64-linux-android,i686-linux-android,x86_64-linux-android --set=target.armv7-linux-androideabi.cc=armv7a-linux-androideabi16-clang --set=target.armv7-linux-androideabi.ar=armv7a-linux-androideabi-ar --set=target.thumbv7neon-linux-a [...]
linux: var: @@ -39,25 +33,28 @@ targets: # # `--enable-extended` to build not only rustc but cargo as well # - # `--enable-llvm-static-stdcpp` to take a libstdc++ on Jessie into account - # which is too old and if used gives undefined reference errors - # # `--release-channel=stable` to just include stable features in the # compiler # # `--sysconfdir=etc` to avoid install failures as |make install| wants to # write to /etc otherwise # + # `--llvm-root=/var/tmp/dist/clang` to avoid building LLVM again while + # building Rust + # + # --set rust.jemalloc to use jemalloc. This option is used also in the + # prebuilt binaries, and without it the build never ends on Debian Jessie + # (see tor-browser-build#40591) + # # the `target` triple to explicitly specify the architecture and platform # for the compiler/std lib. Ideally, it should not be needed unless one is # cross-compiling, but compiling `alloc_jemalloc` fails without that in a # 32bit container. "--host=x86_64-unknown-linux-gnu" is used in its # configure script in this case. - # `--set=` to explicitly specify the C compiler. We need to compile the - # bundled LLVM and it wants to use `cc`. However, we don't have that in - # our compiled GCC resulting in weird errors due to C and C++ compiler - # version mismatch. We avoid that with this configure option. - configure_opt: --enable-local-rust --enable-vendor --enable-extended --enable-llvm-static-stdcpp --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,i686-unknown-linux-gnu --set=target.x86_64-unknown-linux-gnu.cc=gcc --set=target.i686-unknown-linux-gnu.cc=gcc + # + # Finally, we tell Rust to use some tools from LLVM, like the prebuilt + # binaries do. + configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --llvm-root=/var/tmp/dist/clang --set rust.jemalloc --target=x86_64-unknown-linux-gnu,i686-unknown-linux-gnu --set target.x86_64-unknown-linux-gnu.linker=clang --set target.x86_64-unknown-linux-gnu.ar=llvm-ar --set target.x86_64-unknown-linux-gnu.ranlib=llvm-ranlib --set target.i686-unknown-linux-gnu.linker=clang --set target.i686-unknown-linux-gnu.ar=llvm-ar --set target. [...]
osx-x86_64: var: @@ -65,7 +62,7 @@ targets: - libssl-dev - pkg-config - zlib1g-dev - configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,x86_64-apple-darwin --set=target.x86_64-apple-darwin.cc=x86_64-apple-darwin-clang + configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --llvm-root=/var/tmp/dist/macosx-toolchain/clang --set rust.jemalloc --target=x86_64-unknown-linux-gnu,x86_64-apple-darwin --set=target.x86_64-apple-darwin.cc=x86_64-apple-darwin-clang --set target.x86_64-unknown-linux-gnu.linker=clang --set target.x86_64-unknown-linux-gnu.ar=llvm-ar --set target.x86_64-unknown-linux-gnu.ranlib=llvm-ranlib
windows: var: @@ -73,23 +70,32 @@ targets: - libssl-dev - pkg-config - zlib1g-dev - configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,[% c("arch") %]-pc-windows-gnu + # See tor-browser-build#29320 + compiler: mingw-w64 + configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --llvm-root=/var/tmp/dist/clang --target=x86_64-unknown-linux-gnu,[% c("arch") %]-pc-windows-gnu --set target.x86_64-unknown-linux-gnu.linker=clang --set target.x86_64-unknown-linux-gnu.ar=llvm-ar --set target.x86_64-unknown-linux-gnu.ranlib=llvm-ranlib
input_files: - project: container-image + - name: binutils + project: binutils - project: cmake name: cmake - - project: ninja - name: ninja - project: '[% c("var/compiler") %]' name: '[% c("var/compiler") %]' - - URL: 'https://static.rust-lang.org/dist/rustc-%5B% c("var/current_version") %]-src.tar.gz' + - project: clang + name: clang + # On Windows we the basic Clang without additional Windows stuff because we + # want to be sure GCC is used to compile Rust (Rust has a hard depedency on + # libgcc, and the GNU/LLVM is a tier 3 platform supported only for x86_64). + # macOS does not need Clang because it comes already with its compiler. + enable: '[% c("var/linux") || c("var/android") || c("var/windows") %]' + - URL: 'https://static.rust-lang.org/dist/rustc-%5B% c("version") %]-src.tar.gz' name: rust sig_ext: asc file_gpg_id: 1 gpg_keyring: rust.gpg - - URL: 'https://static.rust-lang.org/dist/rust-%5B% c("var/previous_version") %]-x86_64-unknown-linux-gnu.tar.xz' - name: previous_rust + - URL: 'https://static.rust-lang.org/dist/rust-%5B% c("version") %]-x86_64-unknown-linux-gnu.tar.xz' + name: rust_prebuilt sig_ext: asc file_gpg_id: 1 gpg_keyring: rust.gpg
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 3448858ba25066ed5329b93b829ff12347eaac62 Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Thu Aug 11 19:28:24 2022 +0200
Bug 29322: Use mingw-w64/clang toolchain to build OpenSSL --- projects/openssl/build | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/projects/openssl/build b/projects/openssl/build index f8c4cbf..094b7cd 100644 --- a/projects/openssl/build +++ b/projects/openssl/build @@ -8,15 +8,22 @@ cd /var/tmp/build/[% project %]-[% c('version') %] [% IF c("var/osname") == "linux-i686" -%] export CC='gcc -m32' [% END %] +# OpenSSL prepends the host triple to $CC [% IF c("var/osx") -%] # Tricking OpenSSL into using our clang as cross-compiler ln -s $clangdir/bin/clang $clangdir/bin/x86_64-apple-darwin-cc export CC="cc [% c("var/FLAGS") %]" [% END -%] +[% IF c("var/windows") -%] + # Otherwise it falls back to gcc. This way we can remain generic and switch + # from GCC to Clang and vice versa. + export CC=cc +[% END -%] export SOURCE_DATE_EPOCH='[% c("timestamp") %]' ./Configure [% c('var/configure_opts') %] -make -make DESTDIR="$distdir" install +make -j[% c("num_procs") %] +# https://github.com/openssl/openssl/issues/8170 +make -j[% c("num_procs") %] DESTDIR="$distdir" install cd /var/tmp/dist ln -s '[% c("var/openssldir") %]' openssl/openssl [% c('tar', {
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 791d781ee433d832627b478d1f16a4f3599be3a1 Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Wed Aug 17 10:55:27 2022 +0200
Bug 29321: Use mingw-w64/clang toolchain to build tor
Actually, this commit does not hardcode clang, but it switch to $arch-w64-mingw32-cc, which we currently alias on the Clang toolchain, but we could do the same on GCC so that we will be able to switch compilers more easily.
Also, use only static libraries on Windows. --- projects/tor/build | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/projects/tor/build b/projects/tor/build index 08a1c20..c4c1e65 100644 --- a/projects/tor/build +++ b/projects/tor/build @@ -41,15 +41,6 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz libeventdir=/var/tmp/dist/libevent openssldir=/var/tmp/dist/openssl/openssl
-[% IF c("var/windows") %] - # XXX: It's a bit unfortunate but we need the pthread dll here as libevent - # gets compiled with pthread support once it is enabled in GCC, which we need - # to do as otherwise the Rust compilaton breaks. - mingwlibs=/var/tmp/dist/mingw-w64/[% c("arch") %]-w64-mingw32/bin/ - cp $zlibdir/lib/*.dll $openssldir/bin/*.dll $libeventdir/bin/*.dll \ - $gcclibs/*.dll $mingwlibs/libwinpthread-1.dll $distdir/Tor/ -[% END %] - [% IF c("var/linux") %] mkdir -p "$distdir/Debug/Tor" cp $openssldir/lib/libssl.so.1.1 "$distdir/Tor/" @@ -79,6 +70,10 @@ openssldir=/var/tmp/dist/openssl/openssl cp $libeventdir/lib/libevent-*.dylib $TORBINDIR/ [% END %]
+[% IF c("var/windows") %] + export CC=[% c("arch") %]-w64-mingw32-cc +[% END %] + cd /var/tmp/build/[% project %]-[% c('version') %] # add git hash to micro-revision.i for #24995 echo '"[% c("abbrev", { abbrev_length => 16 }) %]"' > micro-revision.i @@ -88,6 +83,7 @@ find -type f -print0 | xargs -0 [% c("touch") %] [% IF c("var/asan") %]--enable-fragile-hardening[% END %] \ [% IF c("var/windows") || c("var/android") %]--with-zlib-dir="$zlibdir"[% END %] \ [% IF c("var/osx") %]--enable-static-openssl[% END %] \ + [% IF c("var/windows") %]--enable-static-libevent --enable-static-openssl --enable-static-zlib[% END %] \ --prefix="$distdir" [% c("var/configure_opt") %] [% IF c("var/osx") -%] export LD_PRELOAD=[% c("var/faketime_path") %]
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 ca0d30c3166256feeff5f4f9a4fd81b3c843e6dc Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Wed Aug 17 19:36:03 2022 +0200
Bug 40409: Upgrade NSIS to 3.08 --- projects/nsis/build | 6 +++++- projects/nsis/config | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/projects/nsis/build b/projects/nsis/build index 41f7c1a..197af2c 100755 --- a/projects/nsis/build +++ b/projects/nsis/build @@ -17,7 +17,7 @@ patch -p1 < $rootdir/no-insert-timestamp.patch [% IF c("var/windows-x86_64") %] # Seems like setting TARGET_ARCH is not enough so we need to patch build.cpp # manually; this is confirmed by a comment in the same file. - sed -i 's/m_target_type=TARGET_X86ANSI/m_target_type=TARGET_AMD64/' Source/build.cpp + sed -i 's/m_target_type=TARGET_X86UNICODE/m_target_type=TARGET_AMD64/' Source/build.cpp [% SET target = "amd64" %] [% ELSE %] [% SET target = "x86" %] @@ -29,6 +29,10 @@ patch -p1 < $rootdir/no-insert-timestamp.patch _ " TARGET_ARCH=" _ target _ " ZLIB_W32=/var/tmp/build/zlib/" _ ' PREFIX=/var/tmp/dist/nsis' -%] +# Parallel compilation might result in errors, but they seems to be recoverable, +# so we first run scons in parallel, and suppress any error, then we try again, +# but the second time they make the build fail. +scons [% scons_args %] -j[% c("num_procs") %] || true scons [% scons_args %] scons [% scons_args %] install cd /var/tmp/dist diff --git a/projects/nsis/config b/projects/nsis/config index d6640c0..b1492f2 100644 --- a/projects/nsis/config +++ b/projects/nsis/config @@ -1,5 +1,5 @@ # vim: filetype=yaml sw=2 -version: 3.06.1 +version: 3.08 filename: 'nsis-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz' container: use_container: 1 @@ -22,7 +22,7 @@ input_files: - project: container-image - filename: 'nsis-[% c("version") %].tar.bz2' URL: 'https://downloads.sourceforge.net/nsis/nsis-%5B% c("version") %]-src.tar.bz2' - sha256sum: 9b5d68bf1874a7b393432410c7e8c376f174d2602179883845d2508152153ff0 + sha256sum: a85270ad5386182abecb2470e3d7e9bec9fe4efd95210b13551cb386830d1e87 - filename: no-insert-timestamp.patch - name: '[% c("var/compiler") %]' project: '[% c("var/compiler") %]'
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 c4c7d4e0acaa070e4153d001612fe780d13a7b2e Author: Pier Angelo Vendrame pierov@torproject.org AuthorDate: Wed Aug 24 10:58:25 2022 +0200
Bug 41152: Do not merge libc++ and libunwind --- projects/mingw-w64-clang/build | 18 ------------------ 1 file changed, 18 deletions(-)
diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build index 92a47cf..313d7e7 100644 --- a/projects/mingw-w64-clang/build +++ b/projects/mingw-w64-clang/build @@ -163,24 +163,6 @@ cd build make -j[% c("num_procs") %] VERBOSE=1 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 -# explicitly pass -lunwind. To work around that, we merge libunwind.a into -# libc++.a. -merge_libs() { - cat <<EOF |llvm-ar -M -CREATE tmp.a -ADDLIB $1 -ADDLIB $2 -SAVE -END -EOF - llvm-ranlib tmp.a - mv tmp.a $1 -} - -merge_libs $distdir/[% c("arch") %]-w64-mingw32/lib/libc++.a $distdir/[% c("arch") %]-w64-mingw32/lib/libunwind.a - # libssp # See build-libssp.sh in llvm-mingw cd $rootdir
tor-commits@lists.torproject.org