boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
79c82022
by Nicolas Vigier at 2026-02-10T09:48:13+01:00
-
af4a83f0
by Nicolas Vigier at 2026-02-10T11:00:20+01:00
-
ebef30b2
by Nicolas Vigier at 2026-02-10T11:00:22+01:00
14 changed files:
- Makefile
- doc/MAKEFILE.txt
- projects/common/browser-localization
- projects/firefox/build
- projects/firefox/config
- + projects/firefox/firefoxbrowser-BB-29320.patch
- + projects/firefox/mozconfig-upstream-firefox.in
- projects/firefox/mozconfig.in
- projects/geckoview/build
- projects/geckoview/build_common
- projects/geckoview/config
- + projects/geckoview/mozconfig-upstream-firefox.in
- projects/geckoview/mozconfig.in
- rbm.conf
Changes:
| ... | ... | @@ -543,6 +543,31 @@ mullvadbrowser-compare-mar-signed-unsigned-release: submodule-update |
| 543 | 543 | mullvadbrowser-compare-mar-signed-unsigned-alpha: submodule-update
|
| 544 | 544 | $(rbm) build release --step compare_mar_signed_unsigned --target alpha --target signed --target mullvadbrowser
|
| 545 | 545 | |
| 546 | +#############################
|
|
| 547 | +# Building upstream firefox #
|
|
| 548 | +#############################
|
|
| 549 | + |
|
| 550 | +firefox-linux-x86_64: submodule-update
|
|
| 551 | + $(rbm) build firefox --target alpha --target firefoxbrowser-linux-x86_64
|
|
| 552 | + |
|
| 553 | +firefox-linux-aarch64: submodule-update
|
|
| 554 | + $(rbm) build firefox --target alpha --target firefoxbrowser-linux-arch64
|
|
| 555 | + |
|
| 556 | +firefox-windows-x86_64: submodule-update
|
|
| 557 | + $(rbm) build firefox --target alpha --target firefoxbrowser-windows-x86_64
|
|
| 558 | + |
|
| 559 | +firefox-windows-i686: submodule-update
|
|
| 560 | + $(rbm) build firefox --target alpha --target firefoxbrowser-windows-i686
|
|
| 561 | + |
|
| 562 | +firefox-macos-aarch64: submodule-update
|
|
| 563 | + $(rbm) build firefox --target alpha --target firefoxbrowser-macos-aarch64
|
|
| 564 | + |
|
| 565 | +firefox-macos-x86_64: submodule-update
|
|
| 566 | + $(rbm) build firefox --target alpha --target firefoxbrowser-macos-x86_64
|
|
| 567 | + |
|
| 568 | +geckoview-android-aarch64: submodule-update
|
|
| 569 | + $(rbm) build geckoview --target testbuild --target alpha --target firefoxbrowser-android-aarch64
|
|
| 570 | + |
|
| 546 | 571 | |
| 547 | 572 | ############################
|
| 548 | 573 | # Toolchain Update Targets #
|
| 1 | 1 | Description of makefile rules
|
| 2 | 2 | =============================
|
| 3 | 3 | |
| 4 | + |
|
| 5 | +************************************
|
|
| 6 | +* Building Tor and Mullvad Browser *
|
|
| 7 | +************************************
|
|
| 8 | + |
|
| 4 | 9 | torbrowser
|
| 5 | 10 | ----------
|
| 6 | 11 | Build Tor Browser for the default channel, defined in
|
| ... | ... | @@ -92,11 +97,27 @@ fetch |
| 92 | 97 | Fetch new commits from all components. This is useful when you want to
|
| 93 | 98 | build the nightly channel.
|
| 94 | 99 | |
| 95 | -list-unused-projects
|
|
| 96 | ---------------------
|
|
| 97 | -List which projects are not being used by projects/release/build with
|
|
| 98 | -torbrowser and mullvadbrowser targets. Projects that are used outside
|
|
| 99 | -of normal builds can be added to projects/release/list_used_projects.
|
|
| 100 | +torbrowser-incrementals-{release,alpha}
|
|
| 101 | +---------------------------------------
|
|
| 102 | +Create incremental mar files for an unsigned build in the release or
|
|
| 103 | +alpha channel. The list of versions we create incrementals from is
|
|
| 104 | +defined as var/torbrowser_incremental_from in rbm.conf.
|
|
| 105 | + |
|
| 106 | +torbrowser-incrementals-nightly
|
|
| 107 | +-------------------------------
|
|
| 108 | +Create incremental mar files for the current nightly build. The number
|
|
| 109 | +of previous versions we should generate incremental mars from is defined
|
|
| 110 | +as var/max_torbrowser_incremental_from in rbm.conf.
|
|
| 111 | + |
|
| 112 | +If you want to create incremental mars for a version that is not the
|
|
| 113 | +current one, you can define the environment variable
|
|
| 114 | +TORBROWSER_NIGHTLY_VERSION to the version you want to generate
|
|
| 115 | +incremental mars for.
|
|
| 116 | + |
|
| 117 | + |
|
| 118 | +************
|
|
| 119 | +* Cleaning *
|
|
| 120 | +************
|
|
| 100 | 121 | |
| 101 | 122 | clean
|
| 102 | 123 | -----
|
| ... | ... | @@ -115,28 +136,22 @@ clean-dry-run |
| 115 | 136 | -------------
|
| 116 | 137 | Print the files that would be removed when running 'make clean'.
|
| 117 | 138 | |
| 139 | +list-unused-projects
|
|
| 140 | +--------------------
|
|
| 141 | +List which projects are not being used by projects/release/build with
|
|
| 142 | +torbrowser and mullvadbrowser targets. Projects that are used outside
|
|
| 143 | +of normal builds can be added to projects/release/list_used_projects.
|
|
| 144 | + |
|
| 145 | + |
|
| 146 | +***********************************
|
|
| 147 | +* Publishing and signing releases *
|
|
| 148 | +***********************************
|
|
| 149 | + |
|
| 118 | 150 | torbrowser-signtag-{release,alpha}
|
| 119 | 151 | ----------------------------------
|
| 120 | 152 | Create a git signed tag for the selected channel, using the version and
|
| 121 | 153 | build number defined as var/torbrowser_version and var/torbrowser_build.
|
| 122 | 154 | |
| 123 | -torbrowser-incrementals-{release,alpha}
|
|
| 124 | ----------------------------------------
|
|
| 125 | -Create incremental mar files for an unsigned build in the release or
|
|
| 126 | -alpha channel. The list of versions we create incrementals from is
|
|
| 127 | -defined as var/torbrowser_incremental_from in rbm.conf.
|
|
| 128 | - |
|
| 129 | -torbrowser-incrementals-nightly
|
|
| 130 | --------------------------------
|
|
| 131 | -Create incremental mar files for the current nightly build. The number
|
|
| 132 | -of previous versions we should generate incremental mars from is defined
|
|
| 133 | -as var/max_torbrowser_incremental_from in rbm.conf.
|
|
| 134 | - |
|
| 135 | -If you want to create incremental mars for a version that is not the
|
|
| 136 | -current one, you can define the environment variable
|
|
| 137 | -TORBROWSER_NIGHTLY_VERSION to the version you want to generate
|
|
| 138 | -incremental mars for.
|
|
| 139 | - |
|
| 140 | 155 | torbrowser-dmg2mar-{release,alpha)
|
| 141 | 156 | ----------------------------------
|
| 142 | 157 | Generate updated mar files for the OSX bundles, from the dmg files, then
|
| ... | ... | @@ -149,6 +164,11 @@ Create update responses xml files for a signed build in the release or |
| 149 | 164 | alpha channel. The files can be found in a tar in the directory
|
| 150 | 165 | torbrowser/{release,alpha}/update-responses.
|
| 151 | 166 | |
| 167 | + |
|
| 168 | +****************************************
|
|
| 169 | +* Comparing signed and unsigned builds *
|
|
| 170 | +****************************************
|
|
| 171 | + |
|
| 152 | 172 | torbrowser-compare-windows-signed-unsigned-{release,alpha}
|
| 153 | 173 | ----------------------------------------------------------
|
| 154 | 174 | Unsign exe files from directory torbrowser/{release,alpha}/signed/$version
|
| ... | ... | @@ -159,3 +179,25 @@ torbrowser-compare-mar-signed-unsigned-{release,alpha} |
| 159 | 179 | Unsign mar files from directory torbrowser/{release,alpha}/signed/$version
|
| 160 | 180 | and compare them with the checksum from sha256sums-unsigned-build.txt.
|
| 161 | 181 | |
| 182 | + |
|
| 183 | +*********************
|
|
| 184 | +* Toolchain updates *
|
|
| 185 | +*********************
|
|
| 186 | + |
|
| 187 | +list_toolchain_updates-{application-services,firefox-linux,firefox-macos,
|
|
| 188 | + firefox-windows,geckoview}
|
|
| 189 | +-------------------------------------------------------------------------
|
|
| 190 | +List toolchain updates required for building selected component/platform.
|
|
| 191 | + |
|
| 192 | + |
|
| 193 | +firefox-{linux-x86_64,linux-aarch64,windows-x86_64,windows-i686,
|
|
| 194 | + macos-aarch64,macos-x86_64}
|
|
| 195 | +----------------------------------------------------------------
|
|
| 196 | +Building upstream firefox commit for selected platform. This is useful
|
|
| 197 | +for testing toolchain updates for a new firefox version.
|
|
| 198 | + |
|
| 199 | +geckoview-android-aarch64
|
|
| 200 | +-------------------------
|
|
| 201 | +Building upstream firefox commit for android (aarch64 only). We currently
|
|
| 202 | +don't support the `build_apk` builds with all architectures, but the
|
|
| 203 | +single arch build should be enough for testing toolchain updates. |
| 1 | -branding_dir=[% IF c('var/android') %]mobile/android[% ELSE %]browser[% END %]/branding/[% c("var/project_initials") %]-[% c("var/channel") %]
|
|
| 1 | +[% IF !c("var/firefox-browser") -%]
|
|
| 2 | + branding_dir=[% IF c('var/android') %]mobile/android[% ELSE %]browser[% END %]/branding/[% c("var/project_initials") %]-[% c("var/channel") %]
|
|
| 3 | +[% END -%]
|
|
| 2 | 4 | |
| 3 | 5 | [% IF c("var/has_l10n") -%]
|
| 4 | 6 | [% IF !c("var/android") -%]
|
| ... | ... | @@ -106,16 +106,23 @@ mkdir "$HOME/.mozbuild" |
| 106 | 106 | export LC_ALL=C.UTF-8
|
| 107 | 107 | export LANG=C.UTF-8
|
| 108 | 108 | |
| 109 | +[% IF c("var/firefox-browser") && c("var/windows") -%]
|
|
| 110 | + patch -p1 < $rootdir/firefoxbrowser-BB-29320.patch
|
|
| 111 | +[% END -%]
|
|
| 112 | + |
|
| 109 | 113 | echo "Starting ./mach configure $(date)"
|
| 110 | 114 | ./mach configure \
|
| 111 | 115 | --with-distribution-id=org.torproject \
|
| 112 | - --with-base-browser-version=[% c("var/torbrowser_version") %] \
|
|
| 116 | + [% IF !c("var/firefox-browser") %]--with-base-browser-version=[% c("var/torbrowser_version") %][% END %] \
|
|
| 113 | 117 | [% IF c("var/updater_enabled") -%]--enable-update-channel=[% c("var/channel") %][% END %] \
|
| 114 | - [% IF !c("var/base-browser") -%]--with-branding="$branding_dir"[% END %] \
|
|
| 118 | + [% IF !c("var/base-browser") && !c("var/firefox-browser") -%]--with-branding="$branding_dir"[% END %] \
|
|
| 115 | 119 | [% IF !c("var/rlbox") -%]--without-wasm-sandboxed-libraries[% END %]
|
| 116 | 120 | |
| 117 | 121 | echo "Starting ./mach build $(date)"
|
| 118 | 122 | ./mach build --verbose
|
| 123 | + |
|
| 124 | +[% IF c("var/firefox-browser") && c("var/windows"); RETURN; END; -%]
|
|
| 125 | + |
|
| 119 | 126 | [% IF c("var/has_l10n") -%]
|
| 120 | 127 | echo "Starting to merge locales $(date)"
|
| 121 | 128 | export MOZ_CHROME_MULTILOCALE="$supported_locales"
|
| ... | ... | @@ -160,6 +167,9 @@ echo "Starting ./mach build $(date)" |
| 160 | 167 | [% IF c("var/base-browser") -%]
|
| 161 | 168 | mv "$distdir/Firefox.app" "$distdir/[% c('var/display_name') %].app"
|
| 162 | 169 | [% END -%]
|
| 170 | + [% IF c("var/firefox-browser") -%]
|
|
| 171 | + mv "$distdir/Nightly.app" "$distdir/[% c('var/display_name') %].app"
|
|
| 172 | + [% END -%]
|
|
| 163 | 173 | app_bundle="[% c('var/display_name') %].app"
|
| 164 | 174 | # Remove firefox-bin (we don't use it, see ticket #10126)
|
| 165 | 175 | rm -f "$distdir/$app_bundle/Contents/MacOS/[% c('var/exe_name') %]-bin"
|
| ... | ... | @@ -23,6 +23,7 @@ var: |
| 23 | 23 | browser_rebase: 2
|
| 24 | 24 | browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
|
| 25 | 25 | browser_build: 2
|
| 26 | + upstream_firefox_commit: FIREFOX_NIGHTLY_147_END
|
|
| 26 | 27 | copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
|
| 27 | 28 | nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
|
| 28 | 29 | gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
|
| ... | ... | @@ -90,13 +91,20 @@ steps: |
| 90 | 91 | version: '[% c("abbrev") %]'
|
| 91 | 92 | |
| 92 | 93 | list_toolchain_updates:
|
| 93 | - git_hash: FIREFOX_NIGHTLY_147_END
|
|
| 94 | + git_hash: '[% c("var/upstream_firefox_commit") %]'
|
|
| 94 | 95 | tag_gpg_id: 0
|
| 95 | 96 | input_files: []
|
| 96 | 97 | container:
|
| 97 | 98 | use_container: 0
|
| 98 | 99 | |
| 99 | 100 | targets:
|
| 101 | + firefoxbrowser:
|
|
| 102 | + git_hash: '[% c("var/upstream_firefox_commit") %]'
|
|
| 103 | + tag_gpg_id: 0
|
|
| 104 | + var:
|
|
| 105 | + updater_url: ''
|
|
| 106 | + has_l10n: 0
|
|
| 107 | + |
|
| 100 | 108 | basebrowser:
|
| 101 | 109 | var:
|
| 102 | 110 | nightly_updates_publish_dir_prefix: basebrowser-
|
| ... | ... | @@ -240,3 +248,7 @@ input_files: |
| 240 | 248 | - project: libdmg-hfsplus
|
| 241 | 249 | name: libdmg
|
| 242 | 250 | enable: '[% c("var/macos") && c("var/dev_artifacts") %]'
|
| 251 | + # When building upstream firefox we need this patch to be able to
|
|
| 252 | + # build for Windows
|
|
| 253 | + - filename: firefoxbrowser-BB-29320.patch
|
|
| 254 | + enable: '[% c("var/firefox-browser") && c("var/windows") %]' |
| 1 | +commit df53f566fa75408c95f3f619e1eee30417449642
|
|
| 2 | +Author: Pier Angelo Vendrame <pierov@xxxxxxxxxxxxxx>
|
|
| 3 | +Date: Thu Jun 13 09:22:53 2024 +0200
|
|
| 4 | + |
|
| 5 | + BB 29320: Replace the gnu target with gnullvm for Rust.
|
|
| 6 | + |
|
| 7 | +diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
|
|
| 8 | +index d71d2fbe33b77..62ceec58677a2 100644
|
|
| 9 | +--- a/build/moz.configure/init.configure
|
|
| 10 | ++++ b/build/moz.configure/init.configure
|
|
| 11 | +@@ -490,12 +490,16 @@ def split_triplet(triplet, allow_wasi=False):
|
|
| 12 | + canonical_kernel = "kFreeBSD"
|
|
| 13 | + elif os.startswith("gnu"):
|
|
| 14 | + canonical_os = canonical_kernel = "GNU"
|
|
| 15 | +- elif os.startswith("mingw") or os in ("windows-msvc", "windows-gnu"):
|
|
| 16 | ++ elif os.startswith("mingw") or os in (
|
|
| 17 | ++ "windows-msvc",
|
|
| 18 | ++ "windows-gnu",
|
|
| 19 | ++ "windows-gnullvm",
|
|
| 20 | ++ ):
|
|
| 21 | + canonical_os = canonical_kernel = "WINNT"
|
|
| 22 | + if not os.startswith("mingw"):
|
|
| 23 | + if os == "windows-msvc":
|
|
| 24 | + abi = "msvc"
|
|
| 25 | +- elif os == "windows-gnu":
|
|
| 26 | ++ elif os == "windows-gnu" or os == "windows-gnullvm":
|
|
| 27 | + abi = "mingw"
|
|
| 28 | + # Many things down the line are looking for the string "mingw32"
|
|
| 29 | + # until they are all fixed, we pretend that's the raw os we had
|
|
| 30 | +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
|
|
| 31 | +index 6c1c891817133..ee836b6060756 100644
|
|
| 32 | +--- a/build/moz.configure/rust.configure
|
|
| 33 | ++++ b/build/moz.configure/rust.configure
|
|
| 34 | +@@ -310,9 +310,9 @@ def detect_rustc_target(
|
|
| 35 | + if host_or_target.abi == "msvc":
|
|
| 36 | + suffix = "windows-msvc"
|
|
| 37 | + elif host_or_target.abi == "mingw":
|
|
| 38 | +- suffix = "windows-gnu"
|
|
| 39 | ++ suffix = "windows-gnullvm"
|
|
| 40 | + elif compiler_info.type in ("gcc", "clang"):
|
|
| 41 | +- suffix = "windows-gnu"
|
|
| 42 | ++ suffix = "windows-gnullvm"
|
|
| 43 | + else:
|
|
| 44 | + suffix = "windows-msvc"
|
|
| 45 | + narrowed = [ |
| 1 | +# The file mozconfig-upstream-firefox.in is used to set some options
|
|
| 2 | +# needed to build upstream firefox. In Tor/Mullvad Browser, those
|
|
| 3 | +# options are set in the specific mozconfig files in tor-browser.git.
|
|
| 4 | + |
|
| 5 | +[% IF c("var/windows-x86_64") -%]
|
|
| 6 | + ac_add_options --target=x86_64-w64-mingw32
|
|
| 7 | + ac_add_options --with-toolchain-prefix=x86_64-w64-mingw32-
|
|
| 8 | +[% END -%]
|
|
| 9 | +[% IF c("var/windows-i686") -%]
|
|
| 10 | + ac_add_options --target=i686-w64-mingw32
|
|
| 11 | + ac_add_options --with-toolchain-prefix=i686-w64-mingw32-
|
|
| 12 | +[% END -%]
|
|
| 13 | +[% IF c("var/windows") -%]
|
|
| 14 | + ac_add_options --disable-notification-server
|
|
| 15 | + |
|
| 16 | + ac_add_options --disable-webrtc
|
|
| 17 | +[% END -%] |
| 1 | -. $topsrcdir/mozconfig-[% IF c("var/macos"); GET 'macos'; ELSE; GET c("var/osname"); END; %][% IF c("var/asan") %]-asan[% END %]
|
|
| 1 | +[% IF !c("var/firefox-browser") -%]
|
|
| 2 | + . $topsrcdir/mozconfig-[% IF c("var/macos"); GET 'macos'; ELSE; GET c("var/osname"); END; %][% IF c("var/asan") %]-asan[% END %]
|
|
| 3 | +[% ELSE;
|
|
| 4 | + INCLUDE 'mozconfig-upstream-firefox.in';
|
|
| 5 | + END -%]
|
|
| 2 | 6 | |
| 3 | 7 | [% IF c("var/linux") -%]
|
| 4 | 8 | # We want to build with clang now and point to the GCC toolchain until #29041 is
|
| ... | ... | @@ -81,7 +85,9 @@ |
| 81 | 85 | [% END -%]
|
| 82 | 86 | |
| 83 | 87 | ac_add_options --[% IF c("var/updater_enabled") %]enable[% ELSE %]disable[% END %]-updater
|
| 84 | -ac_add_options --[% IF c("var/updater_enabled") %]enable[% ELSE %]disable[% END %]-base-browser-update
|
|
| 88 | +[% IF !c("var/firefox-browser") -%]
|
|
| 89 | + ac_add_options --[% IF c("var/updater_enabled") %]enable[% ELSE %]disable[% END %]-base-browser-update
|
|
| 90 | +[% END -%]
|
|
| 85 | 91 | [% IF c("var/override_updater_url") -%]
|
| 86 | 92 | ac_add_options --with-updater-url="" c("var/override_updater_url") %]
|
| 87 | 93 | [% ELSIF c("var/updater_url") -%]
|
| ... | ... | @@ -18,8 +18,8 @@ cp $rootdir/mozconfig ./ |
| 18 | 18 | |
| 19 | 19 | echo "Starting ./mach configure $(date)"
|
| 20 | 20 | ./mach configure \
|
| 21 | - --with-base-browser-version=[% c("var/torbrowser_version") %] \
|
|
| 22 | - --with-branding=$branding_dir \
|
|
| 21 | + [% IF !c("var/firefox-browser") %]--with-base-browser-version=[% c("var/torbrowser_version") %][% END %] \
|
|
| 22 | + [% IF !c("var/firefox-browser") %]--with-branding=$branding_dir[% END %] \
|
|
| 23 | 23 | [% IF !c("var/rlbox") -%]--without-wasm-sandboxed-libraries[% END %]
|
| 24 | 24 | |
| 25 | 25 | echo "Starting ./mach build $(date)"
|
| ... | ... | @@ -15,19 +15,28 @@ export PATH="/var/tmp/dist/node/bin:$PATH" |
| 15 | 15 | export LC_ALL=C.UTF-8
|
| 16 | 16 | export LANG=C.UTF-8
|
| 17 | 17 | |
| 18 | -# Normalize this path, as it will end up in buildconfig.html.
|
|
| 19 | -export TOR_EXPERT_BUNDLE_AAR=/var/tmp/dist/tor-expert-bundle.aar
|
|
| 20 | -mv $rootdir/[% c('input_files_by_name/tor-expert-bundle-aar') %]/tor-expert-bundle.aar $TOR_EXPERT_BUNDLE_AAR
|
|
| 18 | +[% IF c("var/tor-browser") -%]
|
|
| 19 | + # Normalize this path, as it will end up in buildconfig.html.
|
|
| 20 | + export TOR_EXPERT_BUNDLE_AAR=/var/tmp/dist/tor-expert-bundle.aar
|
|
| 21 | + mv $rootdir/[% c('input_files_by_name/tor-expert-bundle-aar') %]/tor-expert-bundle.aar $TOR_EXPERT_BUNDLE_AAR
|
|
| 22 | +[% END -%]
|
|
| 21 | 23 | |
| 22 | -tar -C /var/tmp/dist -xf [% c('input_files_by_name/application-services') %]
|
|
| 23 | -export APPLICATION_SERVICES=/var/tmp/dist/application-services/maven
|
|
| 24 | -export NIMBUS_FML=/var/tmp/dist/application-services/nimbus-fml
|
|
| 24 | +[% IF !c("var/firefox-browser") -%]
|
|
| 25 | + tar -C /var/tmp/dist -xf [% c('input_files_by_name/application-services') %]
|
|
| 26 | + export APPLICATION_SERVICES=/var/tmp/dist/application-services/maven
|
|
| 27 | + export NIMBUS_FML=/var/tmp/dist/application-services/nimbus-fml
|
|
| 28 | +[% END -%]
|
|
| 25 | 29 | |
| 26 | 30 | [% INCLUDE 'fake-git' %]
|
| 27 | 31 | |
| 28 | 32 | tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
|
| 29 | 33 | |
| 30 | -tar -C /var/tmp/build/[% project %]-*/tools/terser -xf [% c("input_files_by_name/terser") %]
|
|
| 34 | +# We disable terser for unpatched firefox since the directory
|
|
| 35 | +# tools/terser does not exist in 147. It will probably be needed for
|
|
| 36 | +# 148.
|
|
| 37 | +[% IF !c("var/firefox-browser") -%]
|
|
| 38 | + tar -C /var/tmp/build/[% project %]-*/tools/terser -xf [% c("input_files_by_name/terser") %]
|
|
| 39 | +[% END -%]
|
|
| 31 | 40 | |
| 32 | 41 | [% c("var/set_MOZ_BUILD_DATE") %]
|
| 33 | 42 |
| ... | ... | @@ -16,7 +16,8 @@ gpg_keyring: |
| 16 | 16 | container:
|
| 17 | 17 | use_container: 1
|
| 18 | 18 | disable_network:
|
| 19 | - build_apk: 1
|
|
| 19 | + build: '[% !c("var/generate_gradle_dependencies_list") %]'
|
|
| 20 | + build_apk: '[% !c("var/generate_gradle_dependencies_list") %]'
|
|
| 20 | 21 | |
| 21 | 22 | var:
|
| 22 | 23 | firefox_platform_version: '147.0a1'
|
| ... | ... | @@ -58,6 +59,12 @@ targets: |
| 58 | 59 | tag_gpg_id: 0
|
| 59 | 60 | var:
|
| 60 | 61 | variant: nightly
|
| 62 | + firefoxbrowser:
|
|
| 63 | + git_hash: '[% pc("firefox", "var/upstream_firefox_commit") %]'
|
|
| 64 | + tag_gpg_id: 0
|
|
| 65 | + var:
|
|
| 66 | + generate_gradle_dependencies_list: 1
|
|
| 67 | + has_l10n: 0
|
|
| 61 | 68 | |
| 62 | 69 | steps:
|
| 63 | 70 | build_apk:
|
| ... | ... | @@ -146,7 +153,7 @@ steps: |
| 146 | 153 | enable: '[% c("var/generate_gradle_dependencies_list") %]'
|
| 147 | 154 | |
| 148 | 155 | list_toolchain_updates:
|
| 149 | - git_hash: FIREFOX_NIGHTLY_147_END
|
|
| 156 | + git_hash: '[% pc("firefox", "var/upstream_firefox_commit") %]'
|
|
| 150 | 157 | tag_gpg_id: 0
|
| 151 | 158 | input_files: []
|
| 152 | 159 | container:
|
| ... | ... | @@ -178,6 +185,7 @@ input_files: |
| 178 | 185 | enable: '[% c("var/rlbox") %]'
|
| 179 | 186 | - project: application-services
|
| 180 | 187 | name: application-services
|
| 188 | + enable: '[% !c("var/firefox-browser") %]'
|
|
| 181 | 189 | - filename: gradle-dependencies-list.txt
|
| 182 | 190 | name: gradle-dependencies-list
|
| 183 | 191 | - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
| ... | ... | @@ -189,13 +197,16 @@ input_files: |
| 189 | 197 | sha256sum: '[% pc("glean-parser", "var/glean_wheels_sha256sum") %]'
|
| 190 | 198 | - project: glean
|
| 191 | 199 | name: glean
|
| 200 | + enable: '[% !c("var/generate_gradle_dependencies_list") %]'
|
|
| 192 | 201 | - project: oss-licenses-plugin
|
| 193 | 202 | name: oss-licenses-plugin
|
| 194 | 203 | enable: '[% !c("var/generate_gradle_dependencies_list") %]'
|
| 195 | 204 | - project: terser
|
| 196 | 205 | name: terser
|
| 206 | + enable: '[% !c("var/firefox-browser") %]'
|
|
| 197 | 207 | - name: tor-expert-bundle-aar
|
| 198 | 208 | project: tor-expert-bundle-aar
|
| 209 | + enable: '[% c("var/tor-browser") %]'
|
|
| 199 | 210 | - project: firefox-l10n
|
| 200 | 211 | name: firefox-l10n
|
| 201 | 212 | enable: '[% c("var/android_single_arch") && c("var/has_l10n") %]'
|
| 1 | +# The file mozconfig-upstream-firefox.in is used to set some options
|
|
| 2 | +# needed to build upstream firefox. In Tor Browser, those options are
|
|
| 3 | +# set in the specific mozconfig files in tor-browser.git.
|
|
| 4 | + |
|
| 5 | +ac_add_options --enable-application=mobile/android
|
|
| 6 | + |
|
| 7 | +# Make sure to disable bootstrap also when running online builds for dependency
|
|
| 8 | +# updates.
|
|
| 9 | +ac_add_options --disable-bootstrap
|
|
| 10 | + |
|
| 11 | +CC="clang"
|
|
| 12 | +CXX="clang++"
|
|
| 13 | +ac_add_options --enable-linker=lld
|
|
| 14 | + |
|
| 15 | +ac_add_options --with-android-sdk=$ANDROID_HOME
|
|
| 16 | +ac_add_options --with-android-ndk=$ANDROID_NDK_HOME
|
|
| 17 | +ac_add_options --with-gradle=$GRADLE_HOME/bin/gradle |
| 1 | +[% IF !c("var/firefox-browser") -%]
|
|
| 1 | 2 | . $topsrcdir/[% c("var/mozconfig_file") %]
|
| 3 | +[% ELSE;
|
|
| 4 | + INCLUDE 'mozconfig-upstream-firefox.in';
|
|
| 5 | + END -%]
|
|
| 2 | 6 | |
| 3 | 7 | ac_add_options --with-java-bin-path=/usr/lib/jvm/java-1.17.0-openjdk-amd64/bin
|
| 4 | 8 |
| ... | ... | @@ -372,6 +372,18 @@ targets: |
| 372 | 372 | ProjectName: BaseBrowser
|
| 373 | 373 | updater_enabled: '[% c("var/nightly") %]'
|
| 374 | 374 | |
| 375 | + # Target to build upstream firefox commit (in projects/firefox and
|
|
| 376 | + # projects/geckoview) instead of our patched branch
|
|
| 377 | + firefoxbrowser:
|
|
| 378 | + var:
|
|
| 379 | + firefox-browser: 1
|
|
| 380 | + project-name: firefox-browser
|
|
| 381 | + projectname: firefoxbrowser
|
|
| 382 | + Project_Name: 'Firefox Browser'
|
|
| 383 | + ProjectName: FirefoxBrowser
|
|
| 384 | + updater_enabled: 0
|
|
| 385 | + android_single_arch: 1
|
|
| 386 | + |
|
| 375 | 387 | mullvadbrowser:
|
| 376 | 388 | var:
|
| 377 | 389 | mullvad-browser: 1
|
| ... | ... | @@ -434,6 +446,10 @@ targets: |
| 434 | 446 | - android-armv7
|
| 435 | 447 | - android
|
| 436 | 448 | - basebrowser
|
| 449 | + firefoxbrowser-android-armv7:
|
|
| 450 | + - android-armv7
|
|
| 451 | + - android
|
|
| 452 | + - firefoxbrowser
|
|
| 437 | 453 | android-armv7:
|
| 438 | 454 | arch: armv7
|
| 439 | 455 | var:
|
| ... | ... | @@ -450,6 +466,10 @@ targets: |
| 450 | 466 | - android-x86_64
|
| 451 | 467 | - android
|
| 452 | 468 | - basebrowser
|
| 469 | + firefoxbrowser-android-x86_64:
|
|
| 470 | + - android-x86_64
|
|
| 471 | + - android
|
|
| 472 | + - firefoxbrowser
|
|
| 453 | 473 | android-x86_64:
|
| 454 | 474 | arch: x86_64
|
| 455 | 475 | var:
|
| ... | ... | @@ -466,6 +486,10 @@ targets: |
| 466 | 486 | - android-aarch64
|
| 467 | 487 | - android
|
| 468 | 488 | - basebrowser
|
| 489 | + firefoxbrowser-android-aarch64:
|
|
| 490 | + - android-aarch64
|
|
| 491 | + - android
|
|
| 492 | + - firefoxbrowser
|
|
| 469 | 493 | android-aarch64:
|
| 470 | 494 | arch: aarch64
|
| 471 | 495 | var:
|
| ... | ... | @@ -512,6 +536,10 @@ targets: |
| 512 | 536 | - linux-x86_64
|
| 513 | 537 | - linux
|
| 514 | 538 | - mullvadbrowser
|
| 539 | + firefoxbrowser-linux-x86_64:
|
|
| 540 | + - linux-x86_64
|
|
| 541 | + - linux
|
|
| 542 | + - firefoxbrowser
|
|
| 515 | 543 | torbrowser-linux-x86_64-asan:
|
| 516 | 544 | - linux-asan
|
| 517 | 545 | - linux-x86_64
|
| ... | ... | @@ -542,6 +570,10 @@ targets: |
| 542 | 570 | - linux-aarch64
|
| 543 | 571 | - linux
|
| 544 | 572 | - mullvadbrowser
|
| 573 | + firefoxbrowser-linux-aarch64:
|
|
| 574 | + - linux-aarch64
|
|
| 575 | + - linux
|
|
| 576 | + - firefoxbrowser
|
|
| 545 | 577 | linux-x86_64:
|
| 546 | 578 | arch: x86_64
|
| 547 | 579 | var:
|
| ... | ... | @@ -603,6 +635,10 @@ targets: |
| 603 | 635 | - windows-i686
|
| 604 | 636 | - windows
|
| 605 | 637 | - basebrowser
|
| 638 | + firefoxbrowser-windows-i686:
|
|
| 639 | + - windows-i686
|
|
| 640 | + - windows
|
|
| 641 | + - firefoxbrowser
|
|
| 606 | 642 | torbrowser-windows-x86_64:
|
| 607 | 643 | - windows-x86_64
|
| 608 | 644 | - windows
|
| ... | ... | @@ -615,6 +651,10 @@ targets: |
| 615 | 651 | - windows-x86_64
|
| 616 | 652 | - windows
|
| 617 | 653 | - mullvadbrowser
|
| 654 | + firefoxbrowser-windows-x86_64:
|
|
| 655 | + - windows-x86_64
|
|
| 656 | + - windows
|
|
| 657 | + - firefoxbrowser
|
|
| 618 | 658 | windows-x86_64:
|
| 619 | 659 | arch: x86_64
|
| 620 | 660 | var:
|
| ... | ... | @@ -690,6 +730,14 @@ targets: |
| 690 | 730 | - macos-aarch64
|
| 691 | 731 | - macos
|
| 692 | 732 | - mullvadbrowser
|
| 733 | + firefoxbrowser-macos-x86_64:
|
|
| 734 | + - macos-x86_64
|
|
| 735 | + - macos
|
|
| 736 | + - firefoxbrowser
|
|
| 737 | + firefoxbrowser-macos-aarch64:
|
|
| 738 | + - macos-aarch64
|
|
| 739 | + - macos
|
|
| 740 | + - firefoxbrowser
|
|
| 693 | 741 | macos-universal:
|
| 694 | 742 | var:
|
| 695 | 743 | macos_universal: 1
|