diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 index e0651c193d94..1586044733ea --- a/build.sh +++ b/build.sh @@ -238,11 +238,11 @@ _package_foxhound() { _status "Creating Foxhound zip" if [ -z "$DRY_RUN" ]; then pushd "${FOXHOUND_OBJ_DIR}/dist" || exit 1 - zip -r foxhound_linux.zip $FOXHOUND_NAME + zip -r foxhound.zip $FOXHOUND_NAME if [ -n "$WITH_PLAYWRIGHT_INTEGRATION" ]; then - cp foxhound_linux.zip "foxhound_linux_${PLAYWRIGHT_VERSION}.zip" + cp foxhound.zip "foxhound_${PLAYWRIGHT_VERSION}.zip" fi - _status "Zip located at '$(pwd || true)/foxhound_linux.zip', done!" + _status "Zip located at '$(pwd || true)/foxhound.zip', done!" popd > /dev/null || exit 1 fi popd > /dev/null || exit 1 diff --git a/taintfox_mozconfig_mac b/taintfox_mozconfig_mac index d7df41274db9..1a6f906d7b9b 100644 --- a/taintfox_mozconfig_mac +++ b/taintfox_mozconfig_mac @@ -1,15 +1,20 @@ mk_add_options MOZ_MAKE_FLAGS="-s -j5" # Use ccache, make sure the path is correct -ac_add_options --with-ccache=/usr/bin/ccache +ac_add_options --with-ccache=sccache # On OS X we only support newer releases so that clang uses libc++ (llvm) instead of stdlibc++ # We could work around this (typedef basic_string u16string), but this should be fine. -ac_add_options --enable-macos-target=10.10 +ac_add_options --enable-macos-target=14.0 + +# disable updater +ac_add_options --disable-updater # Add-on signing is not required for DevEdition MOZ_REQUIRE_SIGNING= +ac_add_options --with-branding=browser/branding/foxhound + # # DEBUG BUILD # @@ -18,12 +23,22 @@ MOZ_REQUIRE_SIGNING= #ac_add_options --disable-optimize +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + # # RELEASE BUILD # +ac_add_options --with-app-name=foxhound +mk_add_options MOZ_APP_NAME=foxhound mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-tf-release ac_add_options --disable-tests - +ac_add_options --disable-sandbox +ac_add_options --without-wasm-sandboxed-libraries +ac_add_options --disable-crashreporter +ac_add_options --disable-backgroundtasks +ac_add_options --enable-release +ac_add_options --enable-js-shell # # OPTIMIZED BUILD WITH DEBUG SYMBOLS diff --git a/taskcluster/config.yml b/taskcluster/config.yml index c78949fc4ac4..2e5fdf8b07f9 100644 --- a/taskcluster/config.yml +++ b/taskcluster/config.yml @@ -113,6 +113,7 @@ treeherder: 'Deb8-32': 'Packages for Debian 8 32-bits' 'Deb9': 'Packages for Debian 9' 'Deb10': 'Packages for Debian 10' + 'Deb10a64': 'AArch64 packages for Debian 10' 'Deb11': 'Packages for Debian 11' 'Deb12': 'Packages for Debian 12' 'Ub18': 'Packages for Ubuntu 18.04' diff --git a/taskcluster/kinds/docker-image/kind.yml b/taskcluster/kinds/docker-image/kind.yml index 569dbbebb135..52a3bd920662 100644 --- a/taskcluster/kinds/docker-image/kind.yml +++ b/taskcluster/kinds/docker-image/kind.yml @@ -178,6 +178,20 @@ tasks: symbol: I(deb8-32-pkg) definition: debian-packages parent: debian8-i386-raw + # Neither the debian10-*raw nor the debian10-*packages images can have + # packages dependencies. + debian10-arm64-raw: + symbol: I(deb10-arm64-raw) + definition: debian-raw + args: + BASE_IMAGE: debian:buster-20230612 + DIST: buster + arch: arm64 + debian10-arm64-packages: + symbol: I(deb10-arm64-pkg) + definition: debian-packages + parent: debian10-arm64-raw + arch: arm64 custom-v8: symbol: I(custom-v8) parent: debian12-base diff --git a/taskcluster/kinds/fetch/toolchains.yml b/taskcluster/kinds/fetch/toolchains.yml index 91a3c55ccc30..929ed69e7e00 100644 --- a/taskcluster/kinds/fetch/toolchains.yml +++ b/taskcluster/kinds/fetch/toolchains.yml @@ -6,7 +6,7 @@ binutils-2.31.1: description: binutils 2.31.1 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.xz + url: https://ftpmirror.gnu.org/gnu/binutils/binutils-2.31.1.tar.xz sha256: 5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86 size: 20467996 gpg-signature: @@ -20,7 +20,7 @@ binutils-2.41: description: binutils 2.41 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz + url: https://ftpmirror.gnu.org/gnu/binutils/binutils-2.41.tar.xz sha256: ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450 size: 26765692 gpg-signature: @@ -34,7 +34,7 @@ gcc-8.5.0: description: GCC 8.5.0 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.xz + url: https://ftpmirror.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.xz sha256: d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50 size: 63841008 gpg-signature: @@ -48,7 +48,7 @@ gcc-9.5.0: description: GCC 9.5.0 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.xz + url: https://ftpmirror.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.xz sha256: 27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f size: 72462752 gpg-signature: @@ -58,11 +58,25 @@ gcc-9.5.0: strip-components: 1 add-prefix: gcc-source/ +gcc-10.5.0: + description: GCC 10.5.0 source code + fetch: + type: static-url + url: https://ftpmirror.gnu.org/gnu/gcc/gcc-10.5.0/gcc-10.5.0.tar.xz + sha256: 25109543fdf46f397c347b5d8b7a2c7e5694a5a51cce4b9c6e1ea8a71ca307c1 + size: 77846412 + gpg-signature: + sig-url: "{url}.sig" + key-path: build/unix/build-gcc/7F74F97C103468EE5D750B583AB00996FC26A641.key + artifact-name: gcc-source.tar.zst + strip-components: 1 + add-prefix: gcc-source/ + gcc-11.4.0: description: GCC 11.4.0 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.xz + url: https://ftpmirror.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.xz sha256: 3f2db222b007e8a4a23cd5ba56726ef08e8b1f1eb2055ee72c1402cea73a8dd9 size: 79837032 gpg-signature: @@ -76,7 +90,7 @@ gmp-6.1.0: description: GMP 6.1.0 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2 + url: https://ftpmirror.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2 sha256: 498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8 size: 2383840 gpg-signature: @@ -109,7 +123,7 @@ mpc-1.0.3: description: mpc 1.0.3 source code fetch: type: static-url - url: https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz + url: https://ftpmirror.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz sha256: 617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3 size: 669925 gpg-signature: @@ -544,68 +558,68 @@ nodejs-12-linux64: strip-components: 1 add-prefix: node/ -nodejs-18-linux64-arm64: - description: nodejs 18 for arm64 linux +nodejs-22-linux64-arm64: + description: nodejs 22 for arm64 linux fetch: type: static-url - url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-arm64.tar.xz - sha256: cf94ab72e45b855257545fec1c017bdf30a9e23611561382eaf64576b999e72d - size: 23403368 + url: https://nodejs.org/dist/v22.16.0/node-v22.16.0-linux-arm64.tar.xz + sha256: eab80cb88f8fda1e65f5e8d0420c9809bdb320b03fd34976ab7161b6e703b910 + size: 29126496 artifact-name: nodejs.tar.zst strip-components: 1 add-prefix: node/ -nodejs-18-macosx64: - description: nodejs 18 for x64 macOS +nodejs-22-macosx64: + description: nodejs 22 for x64 macOS fetch: type: static-url - url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-x64.tar.xz - sha256: 4f60b40071c6a67482b99d22a5265839177b8706a2b13b493396f368f0b42b00 - size: 22496376 + url: https://nodejs.org/dist/v22.16.0/node-v22.16.0-darwin-x64.tar.xz + sha256: 5c34638f2c0e3f3aaa7b3a94b58304765a169730da1896ebba8515ea4d987a9c + size: 26966604 artifact-name: nodejs.tar.zst strip-components: 1 add-prefix: node/ -nodejs-18-macosx64-arm64: - description: nodejs 18 for arm64 macOS +nodejs-22-macosx64-arm64: + description: nodejs 22 for arm64 macOS fetch: type: static-url - url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64.tar.xz - sha256: 857885257c586fb13c93d33d326ca82056ba8b7445ce27cf34dd406add04158e - size: 20768464 + url: https://nodejs.org/dist/v22.16.0/node-v22.16.0-darwin-arm64.tar.xz + sha256: aaf7fc3c936f1b359bc312b63638e41f258689ac2303966ad932cda18c54ea00 + size: 24867980 artifact-name: nodejs.tar.zst strip-components: 1 add-prefix: node/ -nodejs-18-win32: - description: nodejs 18 for x86 Windows +nodejs-22-win32: + description: nodejs 22 for x86 Windows fetch: type: static-url - url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-win-x86.zip - sha256: 3171148f735954bdca8adccb2200379e61142e0f5a2bdb4ca6432afb0d9951df - size: 27504941 + url: https://nodejs.org/dist/v22.16.0/node-v22.16.0-win-x86.zip + sha256: c23e16ffddd95ef45272549675a8f87480b3a0a900bebb94c277ff11ba99ec06 + size: 32797334 artifact-name: nodejs.tar.zst strip-components: 1 add-prefix: node/ -nodejs-18-win64: - description: nodejs 18 for x64 Windows +nodejs-22-win64: + description: nodejs 22 for x64 Windows fetch: type: static-url - url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-win-x64.zip - sha256: 5311913d45e1fcc3643c58d1e3926eb85437b180f025fe5857413c9f02403645 - size: 29332158 + url: https://nodejs.org/dist/v22.16.0/node-v22.16.0-win-x64.zip + sha256: 21c2d9735c80b8f86dab19305aa6a9f6f59bbc808f68de3eef09d5832e3bfbbd + size: 35466975 artifact-name: nodejs.tar.zst strip-components: 1 add-prefix: node/ -nodejs-18-source: - description: nodejs 18 source +nodejs-22-source: + description: nodejs 22 source fetch: type: static-url - url: https://nodejs.org/dist/v18.19.0/node-v18.19.0.tar.xz - sha256: f52b41af20596a9abd8ed75241837ec43945468221448bbf841361e2091819b6 - size: 41248748 + url: https://nodejs.org/dist/v22.16.0/node-v22.16.0.tar.gz + sha256: 108f250ff79cc103b464b3ef41fa60f4866e4e6c962117171adaac7325ebdab2 + size: 100514588 artifact-name: nodejs.tar.zst strip-components: 1 add-prefix: node/ @@ -614,7 +628,7 @@ gnumake: description: GNU make source fetch: type: static-url - url: https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz + url: https://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz sha256: dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3 size: 2348200 artifact-name: make.tar.zst diff --git a/taskcluster/kinds/packages/debian.yml b/taskcluster/kinds/packages/debian.yml index 85e92e3d5b4f..596b5265718d 100644 --- a/taskcluster/kinds/packages/debian.yml +++ b/taskcluster/kinds/packages/debian.yml @@ -42,9 +42,9 @@ deb12-python-zstandard: using: debian-package dist: bookworm tarball: - url: https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz - sha256: b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09 - pre-build-command: debchange -v 0.23.0-1.deb12moz --distribution testing "Mozilla backport for bookworm" + url: https://files.pythonhosted.org/packages/09/1b/c20b2ef1d987627765dcd5bf1dadb8ef6564f00a87972635099bb76b7a05/zstandard-0.24.0.tar.gz + sha256: fe3198b81c00032326342d973e526803f183f97aa9e9a98e3f897ebafe21178f + pre-build-command: debchange -v 0.24.0-1.deb12moz --distribution testing "Mozilla backport for bookworm" name: python-zstandard deb8-gcc-8: @@ -81,6 +81,56 @@ deb8-gcc-8: echo OFFLOAD_BUILD_DEP= >> debian/rules.conf && debian/rules control NT= +deb8-gcc-10: + description: "gcc 10 for Debian jessie" + treeherder: + symbol: Deb8(gcc-10) + worker: + max-run-time: 3600 + env: + DEB_BUILD_OPTIONS: nocheck + WITH_BOOTSTRAP: 'off' + WITHOUT_LANG: ada brig cilkrts fortran d go objc obj-c++ asan lsan tsan ubsan jit nvptx + run: + using: debian-package + dist: jessie + dsc: + url: https://snapshot.debian.org/archive/debian/20240328T144713Z/pool/main/g/gcc-10/gcc-10_10.5.0-4.dsc + sha256: 4fd04f9b3c06959f5f9ccf8f0f17ce1ea3e78f49eab4b2fb59ec823949ffa91f + # autoconf and quilt necessary to run the `debian/rules control` command to + # generate an updated debian/control. + # removing the libzstd-dev build dependency that doesn't exist in jessie. + # uncommenting `with_common_libs` makes the packaging create the libstdc++6 package. + # `libstdcxx_abi = new` overrides the default that disables the new ABI on jessie + # `BINUTILSBDV=2.25-3~` and `ISL_BUILD_DEP=libisl-dev,` override wrong versions + # in build dependencies for jessie. + # `OFFLOAD_BUILD_DEP=` overrides the dependency on nvptx, which is not available + # in jessie. + # autoconf2.69 is available in jessie, but as autoconf, not autoconf2.69. + # we relax the libc6 requirements to be compatible with jessie. + # the removal of debhelper/generated lines from debian/rules2 works around + # an issue that arises from triggers not being generated for the libgcc-s1 package + # for some reason, and it's simpler to just not care about the triggers than + # figuring out why, as we only really care about the package contents, and the + # triggers are irrelevant. + # `NT=` overrides the use of `:native` which is not supported by dpkg on jessie. + # biarchx32archs= removes x32 build dependencies that don't exist in jessie. + # the lib32gcc-s1 build dependency is removed as it's missing in jessie. + pre-build-command: >- + apt install autoconf quilt && + sed -i 's/libzstd-dev,//' debian/control.m4 && + sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs && + echo libstdcxx_abi = new >> debian/rules.defs && + echo BINUTILSBDV=2.25-3~ >> debian/rules.conf && + echo ISL_BUILD_DEP=libisl-dev, >> debian/rules.conf && + echo OFFLOAD_BUILD_DEP= >> debian/rules.conf && + sed -i 's/autoconf_version = 2.69/autoconf_version =/' debian/rules.conf debian/rules.patch && + sed -i 's/libc_ver := 2.23/libc_ver := 2.19/' debian/rules.conf && + sed -i 's/libc_dev_ver := 2.30-1~/libc_dev_ver := 2.19/' debian/rules.conf && + sed -i '/debhelper\/generated/d' debian/rules2 && + debian/rules control NT= biarchx32archs= && + sed -i 's/lib32gcc-s1 \[[^,]*, //' debian/control + deb8-32-gcc-8: description: "gcc 8 for Debian jessie" treeherder: @@ -108,6 +158,65 @@ deb8-32-gcc-8: debian/rules control NT= arch: i386 +deb8-32-gcc-10: + description: "gcc 10 for Debian jessie" + treeherder: + symbol: Deb8-32(gcc-10) + worker: + max-run-time: 3600 + env: + DEB_BUILD_OPTIONS: nocheck + WITH_BOOTSTRAP: 'off' + WITHOUT_LANG: ada biarch brig cilkrts fortran d go objc obj-c++ asan lsan tsan ubsan jit nvptx + run: + using: debian-package + dist: jessie + dsc: + url: https://snapshot.debian.org/archive/debian/20240328T144713Z/pool/main/g/gcc-10/gcc-10_10.5.0-4.dsc + sha256: 4fd04f9b3c06959f5f9ccf8f0f17ce1ea3e78f49eab4b2fb59ec823949ffa91f + pre-build-command: >- + apt install autoconf quilt && + sed -i 's/libzstd-dev,//' debian/control.m4 && + sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs && + echo libstdcxx_abi = new >> debian/rules.defs && + echo GCC_MULTILIB_BUILD_DEP='$(DPKG_BUILD_DEP)' >> debian/rules.conf && + echo BINUTILSBDV=2.25-3~ >> debian/rules.conf && + echo ISL_BUILD_DEP=libisl-dev, >> debian/rules.conf && + echo OFFLOAD_BUILD_DEP= >> debian/rules.conf && + sed -i 's/autoconf_version = 2.69/autoconf_version =/' debian/rules.conf debian/rules.patch && + sed -i 's/libc_ver := 2.23/libc_ver := 2.19/' debian/rules.conf && + sed -i 's/libc_dev_ver := 2.30-1~/libc_dev_ver := 2.19/' debian/rules.conf && + sed -i '/debhelper\/generated/d' debian/rules2 && + debian/rules control NT= biarchx32archs= && + sed -i 's/lib64gcc-s1 \[[^,]*, //' debian/control + arch: i386 + +deb10-arm64-gcc-10: + description: "gcc 10 for Debian buster" + worker-type: b-linux-gcp-aarch64 + treeherder: + symbol: Deb10a64(gcc-10) + worker: + max-run-time: 3600 + env: + DEB_BUILD_OPTIONS: nocheck + WITH_BOOTSTRAP: 'off' + WITHOUT_LANG: ada biarch brig cilkrts fortran d go objc obj-c++ asan lsan tsan ubsan jit nvptx + run: + using: debian-package + dist: buster + dsc: + url: https://snapshot.debian.org/archive/debian/20240328T144713Z/pool/main/g/gcc-10/gcc-10_10.5.0-4.dsc + sha256: 4fd04f9b3c06959f5f9ccf8f0f17ce1ea3e78f49eab4b2fb59ec823949ffa91f + pre-build-command: >- + apt install autoconf quilt && + sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs && + echo BINUTILSBDV=2.31 >> debian/rules.conf && + sed -i 's/libc_dev_ver := 2.30-1~/libc_dev_ver := 2.28/' debian/rules.conf && + sed -i '/debhelper\/generated/d' debian/rules2 && + debian/rules control NT= + arch: arm64 + deb8-gtk3: description: "X11-only gtk+3 for Debian jessie" treeherder: diff --git a/taskcluster/kinds/toolchain/node.yml b/taskcluster/kinds/toolchain/node.yml index 22ed79dfe458..71e27a865a05 100644 --- a/taskcluster/kinds/toolchain/node.yml +++ b/taskcluster/kinds/toolchain/node.yml @@ -6,7 +6,7 @@ task-defaults: description: "Node repack toolchain build" attributes: local-toolchain: true - worker-type: b-linux-gcp + worker-type: b-linux-amd worker: max-run-time: 1800 run: @@ -20,70 +20,71 @@ linux64-node-12: fetch: - nodejs-12-linux64 -linux64-node-18: +linux64-node-22: # The upstream prebuilt binary requires glibc 2.28, which is too recent for Ubuntu 18.04, # so we build our own that won't have that requirement. description: "Node toolchain build" treeherder: - symbol: TL(node-18) + symbol: TL(node-22) + worker-type: b-linux-large-amd run: script: build-nodejs.sh toolchain-alias: - linux64-node fetches: fetch: - - nodejs-18-source + - nodejs-22-source toolchain: - linux64-gcc-11 - - linux64-toolchain-sysroot + - linux64-toolchain-sysroot-gcc10 -linux64-aarch64-node-18: +linux64-aarch64-node-22: treeherder: - symbol: TLA64(node-18) + symbol: TLA64(node-22) run: toolchain-alias: - linux64-aarch64-node fetches: fetch: - - nodejs-18-linux64-arm64 + - nodejs-22-linux64-arm64 -macosx64-node-18: +macosx64-node-22: treeherder: - symbol: TM(node-18) + symbol: TM(node-22) run: toolchain-alias: - macosx64-node fetches: fetch: - - nodejs-18-macosx64 + - nodejs-22-macosx64 -macosx64-aarch64-node-18: +macosx64-aarch64-node-22: treeherder: - symbol: TMA64(node-18) + symbol: TMA64(node-22) run: toolchain-alias: - macosx64-aarch64-node fetches: fetch: - - nodejs-18-macosx64-arm64 + - nodejs-22-macosx64-arm64 -win64-node-18: +win64-node-22: treeherder: - symbol: TW64(node-18) + symbol: TW64(node-22) run: toolchain-alias: - win64-node fetches: fetch: - - nodejs-18-win64 + - nodejs-22-win64 -win32-node-18: +win32-node-22: treeherder: - symbol: TW32(node-18) + symbol: TW32(node-22) run: toolchain-alias: - win32-node fetches: fetch: - - nodejs-18-win32 + - nodejs-22-win32 \ No newline at end of file diff --git a/taskcluster/kinds/toolchain/sysroot.yml b/taskcluster/kinds/toolchain/sysroot.yml index acabb47dd19a..0882aadb8a69 100644 --- a/taskcluster/kinds/toolchain/sysroot.yml +++ b/taskcluster/kinds/toolchain/sysroot.yml @@ -212,6 +212,33 @@ linux64-toolchain-sysroot: # For libdmg-hfsplus - liblzma-dev +linux64-toolchain-sysroot-gcc10: + description: "Sysroot for linux64 toolchain builds" + worker: + env: + PACKAGES_TASKS: {task-reference: ''} + GCC_VERSION: '10' + treeherder: + symbol: TL(sysroot-toolchain-gcc10) + dependencies: + gcc-10: packages-deb8-gcc-10 + run: + arguments: + - amd64 + # For clang + - binutils-dev + - gcc-multilib + - lib32stdc++-10-dev + - libxml2-dev + # For minidump-stackwalk + - libcurl4-openssl-dev + - libssl-dev + - libbz2-dev + # For msix-package + - libicu-dev + # For libdmg-hfsplus + - liblzma-dev + linux64-aarch64-toolchain-sysroot: description: "Sysroot for aarch64 linux64 toolchain builds" treeherder: diff --git a/taskcluster/scripts/misc/build-nodejs.sh b/taskcluster/scripts/misc/build-nodejs.sh index 16e281d98039..ec2bd86b9136 100755 --- a/taskcluster/scripts/misc/build-nodejs.sh +++ b/taskcluster/scripts/misc/build-nodejs.sh @@ -7,16 +7,20 @@ workspace=$HOME/workspace cd $MOZ_FETCHES_DIR/$project -gcc_major=8 +gcc_major=10 export CFLAGS=--sysroot=$MOZ_FETCHES_DIR/sysroot export CXXFLAGS"=--sysroot=$MOZ_FETCHES_DIR/sysroot -isystem $MOZ_FETCHES_DIR/sysroot/usr/include/c++/$gcc_major -isystem $MOZ_FETCHES_DIR/sysroot/usr/include/x86_64-linux-gnu/c++/$gcc_major" export LDFLAGS="--sysroot=$MOZ_FETCHES_DIR/sysroot -L$MOZ_FETCHES_DIR/sysroot/lib/x86_64-linux-gnu -L$MOZ_FETCHES_DIR/sysroot/usr/lib/x86_64-linux-gnu -L$MOZ_FETCHES_DIR/sysroot/usr/lib/gcc/x86_64-linux-gnu/$gcc_major" export CC=$MOZ_FETCHES_DIR/gcc/bin/gcc export CXX=$MOZ_FETCHES_DIR/gcc/bin/g++ -./configure --verbose --prefix=/ +# The glibc in our sysroot doesn't have `sys/random.h`/`getrandom`. +sed -i '/HAVE_SYS_RANDOM_H/d;/HAVE_GETRANDOM/d' deps/cares/config/linux/ares_config.h + +# --partly-static allows the resulting binary to run on Ubuntu 18.04 (which has libstdc++ 8) +./configure --verbose --prefix=/ --partly-static make -j$(nproc) install DESTDIR=$workspace/$project tar -C $workspace -acvf $artifact $project mkdir -p $UPLOAD_DIR -mv $artifact $UPLOAD_DIR +mv $artifact $UPLOAD_DIR \ No newline at end of file