brizental pushed to branch main at The Tor Project / Applications / tor-browser-build

Commits:

13 changed files:

Changes:

  • projects/android-toolchain/config
    1 1
     # vim: filetype=yaml sw=2
    
    2 2
     # FIXME: Rework this whole mess
    
    3 3
     filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
    
    4
    -version: '34.0.0'
    
    4
    +version: 36.0.0
    
    5 5
     var:
    
    6 6
       setup: |
    
    7 7
         mkdir -p /var/tmp/dist
    
    ... ... @@ -29,39 +29,39 @@ var:
    29 29
           export PATH=$PATH:$GRADLE_HOME/bin
    
    30 30
         [% END -%]
    
    31 31
       google_repo: https://dl.google.com/android/repository
    
    32
    -  android_api_level: 34
    
    33
    -  android_release_dir: android-14
    
    34
    -  android_platform_revision: '03'
    
    35
    -  android_ndk_version: 26
    
    36
    -  android_ndk_revision: c
    
    37
    -  android_ndk_version_build: 26.2.11394342
    
    32
    +  android_api_level: 36
    
    33
    +  android_release_dir: android-16
    
    34
    +  android_platform_revision: '01'
    
    35
    +  android_ndk_version: 28
    
    36
    +  android_ndk_revision: b
    
    37
    +  android_ndk_version_build: 28.1.13356709
    
    38 38
       # We need the following two variables for get_build_tools, used by signing
    
    39 39
       # scripts.
    
    40
    -  build_tools_version: 34
    
    41
    -  build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]-linux.zip'
    
    42
    -  build_tools_sha512sum: c28dd52f8eca82996726905617f3cb4b0f0aee1334417b450d296991d7112cab1288f5fd42c48a079ba6788218079f81caa3e3e9108e4a6f27163a1eb7f32bd7
    
    43
    -  commandlinetools_version: 11076708
    
    44
    -  commandlinetools_version_string: 12.0
    
    40
    +  build_tools_version: 36
    
    41
    +  build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]_linux.zip'
    
    42
    +  build_tools_sha512sum: 277c08c2dcced3c1cc46ce0349e18adc6d6d4b8739868eab5d469f9fb4e9c6b79aa9d2a6592cfc5db0ccb8690fcc75a44db4b18b03dcf349efd0eb54025ef5ca
    
    43
    +  commandlinetools_version: 13114758
    
    44
    +  commandlinetools_version_string: 19.0
    
    45 45
     input_files:
    
    46 46
       # Hashes can be compared with https://gitlab.com/fdroid/android-sdk-transparency-log/-/blob/master/checksums.json
    
    47 47
       - URL: '[% c("var/google_repo") %]/commandlinetools-linux-[% c("var/commandlinetools_version") %]_latest.zip'
    
    48 48
         name: android_commandlinetools
    
    49
    -    sha256sum: 2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258
    
    49
    +    sha256sum: 7ec965280a073311c339e571cd5de778b9975026cfcbe79f2b1cdcb1e15317ee
    
    50 50
       - URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_version") %][% c("var/android_ndk_revision") %]-linux.zip'
    
    51 51
         name: android_ndk_compiler
    
    52
    -    sha256sum: 6d6e659834d28bb24ba7ae66148ad05115ebbad7dabed1af9b3265674774fcf6
    
    52
    +    sha256sum: e9f2759862cecfd48c20bbb7d8cfedbb020f4d91b5f78d9a2fc106f7db3c27ed
    
    53 53
       - URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]'
    
    54 54
         name: build_tools
    
    55 55
         sha512sum: '[% c("var/build_tools_sha512sum") %]'
    
    56
    -  - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]-ext7_r[% c("var/android_platform_revision") %].zip'
    
    56
    +  - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]_r[% c("var/android_platform_revision") %].zip'
    
    57 57
         name: platform
    
    58
    -    sha256sum: 16fdb74c55e59ae3ef52def135aec713508467bd56d7dabcd8c9be31fa8b20f3
    
    58
    +    sha256sum: a5273f7d68de0a6a58032b26c24965634bc14ed3839e70a3a9759369f3f6c02a
    
    59 59
       # ./mach bootstrap is fetching the latest version, so it does not seem to
    
    60 60
       # matter which particular version we are using. Pin to the one fitting best to
    
    61 61
       # SDK version/build-tools version.
    
    62 62
       - URL: '[% c("var/google_repo") %]/platform-tools_r[% c("version") %]-linux.zip'
    
    63 63
         name: platform_tools
    
    64
    -    sha256sum: 8137c2834dea05cb64c1a8bc041ea00fcd43e3a8a29429ad4f25b8ee51efebf6
    
    64
    +    sha256sum: 0ead642c943ffe79701fccca8f5f1c69c4ce4f43df2eefee553f6ccb27cbfbe8
    
    65 65
     steps:
    
    66 66
       # The get_build_tools step is used by tools/signing/android-signing
    
    67 67
       get_build_tools:
    

  • projects/application-services/a-s-noop.diff
    1
    +diff --git a/build-scripts/component-common.gradle b/build-scripts/component-common.gradle
    
    2
    +index a126341b0..3b3579290 100644
    
    3
    +--- a/build-scripts/component-common.gradle
    
    4
    ++++ b/build-scripts/component-common.gradle
    
    5
    +@@ -111,16 +111,30 @@ ext.configureUniFFIBindgen = { crateName ->
    
    6
    +                     commandLine "${mozconfig.topobjdir}/dist/host/bin/embedded-uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
    
    7
    +                 }
    
    8
    +             } else {
    
    9
    +-                def libraryPath = megazordNative.asFileTree.matching {
    
    10
    +-                    include "${nativeRustTarget}/libmegazord.*"
    
    11
    +-                }.singleFile
    
    12
    +-
    
    13
    +-                if (libraryPath == null) {
    
    14
    +-                    throw new GradleException("libmegazord dynamic library path not found")
    
    15
    +-                }
    
    16
    +-                exec {
    
    17
    +-                    workingDir project.rootDir
    
    18
    +-                    commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
    
    19
    ++                if (crateName.toString().contains("places")) {
    
    20
    ++                     def libraryPath = megazordNative.asFileTree.matching {
    
    21
    ++                        include "${nativeRustTarget}/libmegazord.*"
    
    22
    ++                    }.singleFile
    
    23
    ++
    
    24
    ++                    if (libraryPath == null) {
    
    25
    ++                        throw new GradleException("libmegazord dynamic library path not found")
    
    26
    ++                    }
    
    27
    ++                    exec {
    
    28
    ++                        workingDir project.rootDir
    
    29
    ++                        commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
    
    30
    ++                    }
    
    31
    ++                } else {
    
    32
    ++                    def libraryPath = "${project.rootDir}/megazords/full/target/debug/libmegazord.so"
    
    33
    ++                    exec {
    
    34
    ++                        workingDir project.rootDir
    
    35
    ++                        def command = ["${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format']
    
    36
    ++                        println "Executing command: ${command.join(' ')}"
    
    37
    ++                        commandLine command
    
    38
    ++
    
    39
    ++                        // Print both stdout and stderr to Gradle's console
    
    40
    ++                        standardOutput = System.out
    
    41
    ++                        errorOutput = System.err
    
    42
    ++                    }
    
    43
    +                 }
    
    44
    +             }
    
    45
    +         }
    
    1 46
     diff --git a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt b/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
    
    2 47
     index 78c16dd0a..d2615fa74 100644
    
    3 48
     --- a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
    
    ... ... @@ -9,10 +54,10 @@ index 78c16dd0a..d2615fa74 100644
    9 54
     +    is FxaServer.__NOOP -> ""
    
    10 55
      }
    
    11 56
     diff --git a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
    
    12
    -index 8c05be9cf..6bf2ec15d 100644
    
    57
    +index 376ef90d9..d80eea50f 100644
    
    13 58
     --- a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
    
    14 59
     +++ b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
    
    15
    -@@ -532,6 +532,8 @@ open class Nimbus(
    
    60
    +@@ -535,6 +535,8 @@ open class Nimbus(
    
    16 61
                              ),
    
    17 62
                          )
    
    18 63
                      }
    
    ... ... @@ -22,10 +67,10 @@ index 8c05be9cf..6bf2ec15d 100644
    22 67
              }
    
    23 68
          }
    
    24 69
     diff --git a/megazords/full/Cargo.toml b/megazords/full/Cargo.toml
    
    25
    -index 75f44a812..a51c0643b 100644
    
    70
    +index c5e9eea19..ce899aac1 100644
    
    26 71
     --- a/megazords/full/Cargo.toml
    
    27 72
     +++ b/megazords/full/Cargo.toml
    
    28
    -@@ -9,21 +9,21 @@ license = "MPL-2.0"9345a6ea
    
    73
    +@@ -9,24 +9,24 @@ license = "MPL-2.0"
    
    29 74
      crate-type = ["cdylib"]
    
    30 75
     
    
    31 76
      [dependencies]
    
    ... ... @@ -49,6 +94,8 @@ index 75f44a812..a51c0643b 100644
    49 94
     -crashtest = { path = "../../components/crashtest" }
    
    50 95
     -error-support = { path = "../../components/support/error" }
    
    51 96
     -suggest = { path = "../../components/suggest" }
    
    97
    +-search = { path = "../../components/search" }
    
    98
    +-tracing-support = { path = "../../components/support/tracing" }
    
    52 99
     +# push = { path = "../../components/push" }
    
    53 100
     +# remote_settings = { path = "../../components/remote_settings" }
    
    54 101
     +# rust-log-forwarder = { path = "../../components/support/rust-log-forwarder" }
    
    ... ... @@ -58,13 +105,16 @@ index 75f44a812..a51c0643b 100644
    58 105
     +# crashtest = { path = "../../components/crashtest" }
    
    59 106
     +# error-support = { path = "../../components/support/error" }
    
    60 107
     +# suggest = { path = "../../components/suggest" }
    
    108
    ++# search = { path = "../../components/search" }
    
    109
    ++# tracing-support = { path = "../../components/support/tracing" }
    
    61 110
     
    
    62 111
      lazy_static = "1.4"
    
    112
    + init_rust_components = { path = "../../components/init_rust_components" }
    
    63 113
     diff --git a/megazords/full/src/lib.rs b/megazords/full/src/lib.rs
    
    64
    -index 01d1be98b..a68eb647f 100644
    
    114
    +index 4b6ba4499..e4fde58ae 100644
    
    65 115
     --- a/megazords/full/src/lib.rs
    
    66 116
     +++ b/megazords/full/src/lib.rs
    
    67
    -@@ -8,20 +8,20 @@
    
    117
    +@@ -8,24 +8,24 @@
    
    68 118
      use std::ffi::CString;
    
    69 119
      use std::os::raw::c_char;
    
    70 120
     
    
    ... ... @@ -72,46 +122,37 @@ index 01d1be98b..a68eb647f 100644
    72 122
     -pub use crashtest;
    
    73 123
     -pub use error_support;
    
    74 124
     -pub use fxa_client;
    
    125
    +-pub use init_rust_components;
    
    75 126
     -pub use logins;
    
    127
    +-pub use merino;
    
    76 128
     -pub use nimbus;
    
    77 129
     +// pub use autofill;
    
    78 130
     +// pub use crashtest;
    
    79 131
     +// pub use error_support;
    
    80 132
     +// pub use fxa_client;
    
    133
    ++// pub use init_rust_components;
    
    81 134
     +// pub use logins;
    
    135
    ++// pub use merino;
    
    82 136
     +// pub use nimbus;
    
    83 137
      pub use places;
    
    84 138
     -pub use push;
    
    85 139
     -pub use remote_settings;
    
    86 140
     -pub use rust_log_forwarder;
    
    141
    +-pub use search;
    
    87 142
     -pub use suggest;
    
    88 143
     -pub use sync_manager;
    
    89 144
     -pub use tabs;
    
    145
    +-pub use tracing_support;
    
    90 146
     -pub use viaduct;
    
    91 147
     +// pub use push;
    
    92 148
     +// pub use remote_settings;
    
    93 149
     +// pub use rust_log_forwarder;
    
    150
    ++// pub use search;
    
    94 151
     +// pub use suggest;
    
    95 152
     +// pub use sync_manager;
    
    96 153
     +// pub use tabs;
    
    154
    ++// pub use tracing_support;
    
    97 155
     +// pub use viaduct;
    
    98 156
      // TODO: Uncomment this code when webext-storage component is integrated in android
    
    99 157
      // pub use webext_storage;
    
    100 158
     
    101
    -diff --git a/publish.gradle b/publish.gradle
    
    102
    -index 71f5d55b9..659e26489 100644
    
    103
    ---- a/publish.gradle
    
    104
    -+++ b/publish.gradle
    
    105
    -@@ -194,7 +194,11 @@ ext.configureUniFFIBindgen = { udlFilePath ->
    
    106
    -         def uniffiGeneratedPath = "generated/source/uniffi/${variant.name}/java"
    
    107
    -         def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
    
    108
    -             workingDir project.rootDir
    
    109
    --            commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
    
    110
    -+            if (udlFilePath.contains("places")) {
    
    111
    -+                commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
    
    112
    -+            } else {
    
    113
    -+                commandLine '/usr/bin/env', "${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
    
    114
    -+            }
    
    115
    -             outputs.dir "${buildDir}/${uniffiGeneratedPath}"
    
    116
    -             // Re-generate if the interface definition changes.
    
    117
    -             inputs.file "${project.projectDir}/${udlFilePath}"

  • projects/application-services/bug40485-nimbus-fml-reproducibility.diff deleted
    1
    -diff --git a/components/support/nimbus-fml/src/intermediate_representation.rs b/components/support/nimbus-fml/src/intermediate_representation.rs
    
    2
    -index 97d545672..249406a0c 100644
    
    3
    ---- a/components/support/nimbus-fml/src/intermediate_representation.rs
    
    4
    -+++ b/components/support/nimbus-fml/src/intermediate_representation.rs
    
    5
    -@@ -237,10 +237,10 @@ pub struct FeatureManifest {
    
    6
    -     pub(crate) about: AboutBlock,
    
    7
    -
    
    8
    -     #[serde(default)]
    
    9
    --    pub(crate) imported_features: HashMap<ModuleId, BTreeSet<String>>,
    
    10
    -+    pub(crate) imported_features: BTreeMap<ModuleId, BTreeSet<String>>,
    
    11
    -
    
    12
    -     #[serde(default)]
    
    13
    --    pub(crate) all_imports: HashMap<ModuleId, FeatureManifest>,
    
    14
    -+    pub(crate) all_imports: BTreeMap<ModuleId, FeatureManifest>,
    
    15
    - }
    
    16
    -
    
    17
    - impl TypeFinder for FeatureManifest {
    
    18
    -diff --git a/components/support/nimbus-fml/src/parser.rs b/components/support/nimbus-fml/src/parser.rs
    
    19
    -index 49cace525..cdf692b86 100644
    
    20
    ---- a/components/support/nimbus-fml/src/parser.rs
    
    21
    -+++ b/components/support/nimbus-fml/src/parser.rs
    
    22
    -@@ -223,7 +223,7 @@ impl Parser {
    
    23
    -         &self,
    
    24
    -         current: &FilePath,
    
    25
    -         channel: Option<&str>,
    
    26
    --        imports: &mut HashMap<ModuleId, FeatureManifest>,
    
    27
    -+        imports: &mut BTreeMap<ModuleId, FeatureManifest>,
    
    28
    -         // includes: &mut HashSet<ModuleId>,
    
    29
    -     ) -> Result<ModuleId> {
    
    30
    -         let id = current.try_into()?;
    
    31
    -@@ -253,7 +253,7 @@ impl Parser {
    
    32
    -         // This loop does the work of merging the default blocks back into the imported manifests.
    
    33
    -         // We'll then attach all the manifests to the root (i.e. the one we're generating code for today), in `imports`.
    
    34
    -         // We associate only the feature ids with the manifest we're loading in this method.
    
    35
    --        let mut imported_feature_id_map = HashMap::new();
    
    36
    -+        let mut imported_feature_id_map = BTreeMap::new();
    
    37
    -
    
    38
    -         for block in &frontend.imports {
    
    39
    -             // 1. Load the imported manifests in to the hash map.
    
    40
    -@@ -328,7 +328,7 @@ impl Parser {
    
    41
    -         &self,
    
    42
    -         channel: Option<&str>,
    
    43
    -     ) -> Result<FeatureManifest, FMLError> {
    
    44
    --        let mut manifests = HashMap::new();
    
    45
    -+        let mut manifests = BTreeMap::new();
    
    46
    -         let id = self.load_imports(&self.source, channel, &mut manifests)?;
    
    47
    -         let mut fm = manifests
    
    48
    -             .remove(&id)

  • projects/application-services/build
    ... ... @@ -6,8 +6,8 @@
    6 6
         gradle_tarfile => c("input_files_by_name/gradle"),
    
    7 7
       }) %]
    
    8 8
     pushd /var/tmp/dist/android-toolchain/android-sdk-linux/build-tools/
    
    9
    -unzip $rootdir/'[% c("input_files_by_name/build_tools_30") %]'
    
    10
    -mv android-11 30.0.3
    
    9
    +unzip $rootdir/'[% c("input_files_by_name/build_tools_35") %]'
    
    10
    +mv android-15 35.0
    
    11 11
     popd
    
    12 12
     
    
    13 13
     distdir=/var/tmp/dist/[% project %]
    
    ... ... @@ -73,6 +73,19 @@ tar -xf $rootdir/[% c('input_files_by_name/uniffi-rs') %]
    73 73
     # latest versions of dependencies sometimes.
    
    74 74
     sed -i '$ s/$/-TORBROWSER/' version.txt
    
    75 75
     
    
    76
    +pushd libs
    
    77
    +ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
    
    78
    +ln -s $rootdir/bug_13028.patch
    
    79
    +patch -p2 < $rootdir/apply-bug-13028.diff
    
    80
    +patch -p2 < $rootdir/no-ndk-lookup.diff
    
    81
    +./build-all.sh desktop
    
    82
    +./build-all.sh android
    
    83
    +popd
    
    84
    +
    
    85
    +pushd megazords/full
    
    86
    +NSS_DIR=$(pwd)/../../libs/desktop/linux-x86-64/nss cargo build --target-dir=$(pwd)/target
    
    87
    +popd
    
    88
    +
    
    76 89
     cp $rootdir/cargo-no-build.sh megazords/full/android/
    
    77 90
     chmod +x megazords/full/android/cargo-no-build.sh
    
    78 91
     patch -p1 < $rootdir/a-s-noop.diff
    
    ... ... @@ -83,15 +96,6 @@ cp $builddir/uniffi-rs/uniffi-bindgen glean-core/android-native/
    83 96
     patch -p1 < $rootdir/glean-noop.diff
    
    84 97
     popd
    
    85 98
     
    
    86
    -pushd libs
    
    87
    -ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
    
    88
    -ln -s $rootdir/bug_13028.patch
    
    89
    -patch -p2 < $rootdir/apply-bug-13028.diff
    
    90
    -patch -p2 < $rootdir/no-ndk-lookup.diff
    
    91
    -./build-all.sh desktop
    
    92
    -./build-all.sh android
    
    93
    -popd
    
    94
    -
    
    95 99
     [% IF c('var/fetch_gradle_dependencies') %]
    
    96 100
       # XXX: `assemble` is still not enough to see all fetched dependencies via
    
    97 101
       # Gradle's --debug. See: tor-browser-build#40056.
    
    ... ... @@ -104,8 +108,6 @@ popd
    104 108
       export LC_ALL=C.UTF-8
    
    105 109
       export LANG=C.UTF-8
    
    106 110
       patch -p1 < $rootdir/local-repository.diff
    
    107
    -  patch -p1 < $rootdir/ohttp-no-git.diff
    
    108
    -  patch -p1 < $rootdir/bug40485-nimbus-fml-reproducibility.diff
    
    109 111
       patch -p1 < $rootdir/offline-nimbus-fml.diff
    
    110 112
       patch -p1 < $rootdir/41422-disable-viaduct.diff
    
    111 113
       gradle_flags="--offline --no-daemon"
    

  • projects/application-services/config
    1 1
     # vim: filetype=yaml sw=2
    
    2
    -version: 128.0.1
    
    3
    -git_hash: 0e4777f4133a98f44bca164fcf0406e8f706dbe4
    
    2
    +version: 140.0
    
    3
    +git_hash: 8ee6cb6a23f96ff8e2161926441aea72d6f09249
    
    4 4
     git_url: https://github.com/mozilla/application-services
    
    5 5
     git_submodule: 1
    
    6 6
     container:
    
    ... ... @@ -8,11 +8,11 @@ container:
    8 8
     
    
    9 9
     var:
    
    10 10
       # This should be updated when the list of gradle dependencies is changed.
    
    11
    -  gradle_dependencies_version: 11
    
    12
    -  gradle_version: 8.8
    
    13
    -  glean_parser: 14.0.1
    
    14
    -  nss_version: '3.101'
    
    15
    -  nspr_version: '4.35'
    
    11
    +  gradle_dependencies_version: 12
    
    12
    +  gradle_version: 8.13
    
    13
    +  glean_parser: 17.1.0
    
    14
    +  nss_version: '3.110'
    
    15
    +  nspr_version: '4.36'
    
    16 16
     
    
    17 17
     steps:
    
    18 18
       build:
    
    ... ... @@ -21,7 +21,7 @@ steps:
    21 21
           # Due to some issue in application-service causing non matching
    
    22 22
           # builds when build time differ a lot, we need to do periodic rebuilds:
    
    23 23
           # https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_requests/937#note_3009480
    
    24
    -      rebuild_date: '2024-09-12'
    
    24
    +      rebuild_date: '2025-06-12'
    
    25 25
           arch_deps:
    
    26 26
             # Needed to build NSS
    
    27 27
             - gyp
    
    ... ... @@ -43,16 +43,16 @@ steps:
    43 43
           - project: uniffi-rs
    
    44 44
             name: uniffi-rs
    
    45 45
             pkg_type: build
    
    46
    -      # Only Application Services currently requires build tools 30.0.3.
    
    46
    +      # Only Application Services currently requires build tools 35.
    
    47 47
           # So, download them only here, rather than adding them to the shared
    
    48 48
           # toolchain.
    
    49
    -      - URL: 'https://dl.google.com/android/repository/build-tools_r30.0.3-linux.zip'
    
    50
    -        name: build_tools_30
    
    51
    -        sha256sum: 24593500aa95d2f99fb4f10658aae7e65cb519be6cd33fa164f15f27f3c4a2d6
    
    49
    +      - URL: 'https://dl.google.com/android/repository/build-tools_r35_linux.zip'
    
    50
    +        name: build_tools_35
    
    51
    +        sha256sum: bd3a4966912eb8b30ed0d00b0cda6b6543b949d5ffe00bea54c04c81e1561d88
    
    52 52
           # NSS version ans sha256 are in libs/build-all.sh.
    
    53 53
           - URL: 'https://ftp.mozilla.org/pub/security/nss/releases/NSS_[% c("var/nss_version") | replace("\\.", "_") %]_RTM/src/nss-[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %].tar.gz'
    
    54 54
             name: nss
    
    55
    -        sha256sum: 566faa9283ff3d9a7d6c44272df6e4330e3e06ca4e841a68840d31b27c9161c4
    
    55
    +        sha256sum: 96114bef9e9692dda6e7793da26fedef0dc0449c3644ebe1122464e599a39dc0
    
    56 56
           - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    57 57
             name: gradle-dependencies
    
    58 58
             exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    
    ... ... @@ -65,19 +65,14 @@ steps:
    65 65
             project: application-services
    
    66 66
             pkg_type: cargo_vendor
    
    67 67
             norec:
    
    68
    -          sha256sum: 92ce1131b35bf78d86362670ba7e4930ecdd1117694996d7cce850e4860f90b6
    
    68
    +          sha256sum: 4cf0235b525b5ce1d8bcc40e9763a13fd0e79c773749b900b4d7420551cf5114
    
    69 69
           - filename: local-repository.diff
    
    70 70
             enable: '[% !c("var/fetch_gradle_dependencies") %]'
    
    71 71
           - filename: gen_gradle_deps_file.sh
    
    72 72
             enable: '[% c("var/fetch_gradle_dependencies") %]'
    
    73 73
           - filename: bug_13028.patch
    
    74 74
           - filename: apply-bug-13028.diff
    
    75
    -      # Delete when this patch is included upstream
    
    76
    -      - filename: bug40485-nimbus-fml-reproducibility.diff
    
    77 75
           - filename: no-ndk-lookup.diff
    
    78
    -      # as-ohttp-client lists both the version for ohttp and a git repo + rev,
    
    79
    -      # but this breaks the vendoring for offline builds.
    
    80
    -      - filename: ohttp-no-git.diff
    
    81 76
           - filename: offline-nimbus-fml.diff
    
    82 77
           - filename: glean-noop.diff
    
    83 78
           - filename: a-s-noop.diff
    

  • projects/application-services/glean-noop.diff
    1 1
     diff --git a/glean-core/android-native/build.gradle b/glean-core/android-native/build.gradle
    
    2
    -index 48769651..ade00ec3 100644
    
    2
    +index 53716d523..d38af8320 100644
    
    3 3
     --- a/glean-core/android-native/build.gradle
    
    4 4
     +++ b/glean-core/android-native/build.gradle
    
    5
    -@@ -57,6 +57,8 @@ android {
    
    5
    +@@ -48,6 +48,8 @@ android {
    
    6 6
      }
    
    7 7
     
    
    8 8
      cargo {
    
    ... ... @@ -12,15 +12,15 @@ index 48769651..ade00ec3 100644
    12 12
          module = '../bundle-android'
    
    13 13
     
    
    14 14
     diff --git a/glean-core/android/build.gradle b/glean-core/android/build.gradle
    
    15
    -index 3568e40b..05f28296 100644
    
    15
    +index 7748378b4..5af06b1c3 100644
    
    16 16
     --- a/glean-core/android/build.gradle
    
    17 17
     +++ b/glean-core/android/build.gradle
    
    18
    -@@ -221,7 +221,7 @@ android.libraryVariants.all { variant ->
    
    19
    -     def udlFilePath = "../src/glean.udl"
    
    20
    -     def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
    
    21
    -         workingDir project.rootDir
    
    22
    --        commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
    
    23
    -+        commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
    
    24
    -         outputs.dir "${buildDir}/${uniffiGeneratedPath}"
    
    25
    -         // Re-generate if the interface definition changes.
    
    26
    -         inputs.file "${project.projectDir}/../src/glean.udl"
    18
    +@@ -197,7 +197,7 @@ def generateUniffiBindings = tasks.register("generateUniffiBindings") {
    
    19
    +     doFirst {
    
    20
    +         exec {
    
    21
    +             workingDir project.rootDir
    
    22
    +-            commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
    
    23
    ++            commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
    
    24
    +         }
    
    25
    +     }
    
    26
    +     outputs.dir UNIFFI_OUT_DIR

  • projects/application-services/gradle-dependencies-list.txt The diff for this file was not included because it is too large.
  • projects/application-services/list_toolchain_updates_checks
    ... ... @@ -8,7 +8,7 @@ if (m/^\\s*compileSdkVersion:\\s([^"]*),/) {
    8 8
     }
    
    9 9
     EOF
    
    10 10
     needed=$(cat build.gradle | perl -ne "$p")
    
    11
    -current=34
    
    11
    +current='[% pc("android-toolchain", "version") %]'
    
    12 12
     check_update_needed compileSdkVersion "$needed" "$current"
    
    13 13
     
    
    14 14
     
    
    ... ... @@ -48,12 +48,12 @@ current='[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %]'
    48 48
     check_update_needed nss-nspr "$needed" "$current"
    
    49 49
     
    
    50 50
     # uniffi
    
    51
    -read -d '' p << 'EOF' || true
    
    52
    -if (m/^\\s*uniffi\\s*=\\s*"([^"]*)"/) {
    
    53
    -  print $1;
    
    54
    -  exit;
    
    55
    -}
    
    56
    -EOF
    
    57
    -needed=$(cat Cargo.toml | perl -ne "$p")
    
    51
    +p='while (<>) {
    
    52
    +  if (m/^\s*uniffi\s*=\s*\{[^}]*version\s*=\s*"([^"]*)"/) {
    
    53
    +    print $1;
    
    54
    +    exit;
    
    55
    +  }
    
    56
    +}'
    
    57
    +needed=$(cat components/autofill/Cargo.toml | perl -ne "$p")
    
    58 58
     current='[% pc("uniffi-rs", "version") %]'
    
    59 59
     check_update_needed uniffi "$needed" "$current"

  • projects/application-services/local-repository.diff
    1 1
     diff --git a/build.gradle b/build.gradle
    
    2
    -index b22a0737..d335aa5b 100644
    
    2
    +index bd516e58c..b30d552c9 100644
    
    3 3
     --- a/build.gradle
    
    4 4
     +++ b/build.gradle
    
    5
    -@@ -39,6 +39,13 @@ buildscript {
    
    6
    -     ]
    
    7
    - 
    
    5
    +@@ -14,6 +14,14 @@ buildscript {
    
    6
    +     }
    
    7
    +
    
    8 8
          repositories {
    
    9 9
     +        maven {
    
    10 10
     +            url "file:///var/tmp/dist/gradle-dependencies"
    
    ... ... @@ -13,11 +13,12 @@ index b22a0737..d335aa5b 100644
    13 13
     +                mavenPom()
    
    14 14
     +            }
    
    15 15
     +        }
    
    16
    ++
    
    16 17
              mavenCentral()
    
    17 18
              google()
    
    18
    -         jcenter()
    
    19
    -@@ -88,6 +95,13 @@ apply plugin: 'de.undercouch.download'
    
    20
    - 
    
    19
    +         maven {
    
    20
    +@@ -59,6 +67,14 @@ plugins {
    
    21
    +
    
    21 22
      allprojects {
    
    22 23
          repositories {
    
    23 24
     +        maven {
    
    ... ... @@ -27,11 +28,12 @@ index b22a0737..d335aa5b 100644
    27 28
     +                mavenPom()
    
    28 29
     +            }
    
    29 30
     +        }
    
    31
    ++
    
    30 32
              google()
    
    31
    -         jcenter()
    
    33
    +         mavenCentral()
    
    32 34
              maven {
    
    33 35
     diff --git a/settings.gradle b/settings.gradle
    
    34
    -index f652bd02..8c30a368 100644
    
    36
    +index 4117bc0d3..f1b028dad 100644
    
    35 37
     --- a/settings.gradle
    
    36 38
     +++ b/settings.gradle
    
    37 39
     @@ -1,6 +1,19 @@
    
    ... ... @@ -52,37 +54,39 @@ index f652bd02..8c30a368 100644
    52 54
     +}
    
    53 55
     +
    
    54 56
      import org.yaml.snakeyaml.Yaml
    
    55
    - 
    
    56
    - includeBuild('tools/nimbus-gradle-plugin') {
    
    57
    -@@ -14,6 +27,13 @@ buildscript {
    
    58
    -         classpath 'org.yaml:snakeyaml:2.0'
    
    59
    -     }
    
    60
    -     repositories {
    
    61
    -+        maven {
    
    62
    -+            url "file:///var/tmp/dist/gradle-dependencies"
    
    63
    -+            metadataSources {
    
    64
    -+                gradleMetadata()
    
    65
    -+                mavenPom()
    
    57
    +
    
    58
    + // We prefer `appServicesRootDir` over `rootDir` to help us on the path to the monorepo.
    
    59
    +@@ -23,6 +36,14 @@ buildscript {
    
    60
    +     if (!gradle.root.hasProperty("mozconfig")) {
    
    61
    +         // in app-services
    
    62
    +         repositories {
    
    63
    ++            maven {
    
    64
    ++                url "file:///var/tmp/dist/gradle-dependencies"
    
    65
    ++                metadataSources {
    
    66
    ++                    gradleMetadata()
    
    67
    ++                    mavenPom()
    
    68
    ++                }
    
    66 69
     +            }
    
    67
    -+        }
    
    68
    -         jcenter()
    
    69
    -     }
    
    70
    - }
    
    70
    ++
    
    71
    +             mavenCentral()
    
    72
    +         }
    
    73
    +     } else {
    
    71 74
     diff --git a/tools/nimbus-gradle-plugin/settings.gradle b/tools/nimbus-gradle-plugin/settings.gradle
    
    72
    -index 7db19be0..1f36b991 100644
    
    75
    +index 7d907f057..c0d213503 100644
    
    73 76
     --- a/tools/nimbus-gradle-plugin/settings.gradle
    
    74 77
     +++ b/tools/nimbus-gradle-plugin/settings.gradle
    
    75
    -@@ -8,6 +8,13 @@ buildscript {
    
    76
    -         classpath 'org.yaml:snakeyaml:2.0'
    
    77
    -     }
    
    78
    -     repositories {
    
    79
    -+        maven {
    
    80
    -+            url "file:///var/tmp/dist/gradle-dependencies"
    
    81
    -+            metadataSources {
    
    82
    -+                gradleMetadata()
    
    83
    -+                mavenPom()
    
    78
    +@@ -14,6 +14,14 @@ buildscript {
    
    79
    +     if (!gradle.root.hasProperty("mozconfig")) {
    
    80
    +         // in app-services
    
    81
    +         repositories {
    
    82
    ++            maven {
    
    83
    ++                url "file:///var/tmp/dist/gradle-dependencies"
    
    84
    ++                metadataSources {
    
    85
    ++                    gradleMetadata()
    
    86
    ++                    mavenPom()
    
    87
    ++                }
    
    84 88
     +            }
    
    85
    -+        }
    
    86
    -         jcenter()
    
    87
    -     }
    
    88
    - }
    89
    ++
    
    90
    +             mavenCentral()
    
    91
    +         }
    
    92
    +     } else {

  • projects/application-services/ohttp-no-git.diff deleted
    1
    -diff --git a/components/as-ohttp-client/Cargo.toml b/components/as-ohttp-client/Cargo.toml
    
    2
    -index fd45a058b..b7070fc15 100644
    
    3
    ---- a/components/as-ohttp-client/Cargo.toml
    
    4
    -+++ b/components/as-ohttp-client/Cargo.toml
    
    5
    -@@ -19,8 +19,8 @@ rusqlite = { workspace = true, features = ["bundled"] }
    
    6
    - [dependencies.ohttp]
    
    7
    - version = "0.4"
    
    8
    - default-features = false
    
    9
    --git = "https://github.com/martinthomson/ohttp.git"
    
    10
    --rev = "fc3f4c787d1f6a6a87bf5194f7152cc906b02973"
    
    11
    -+# git = "https://github.com/martinthomson/ohttp.git"
    
    12
    -+# rev = "fc3f4c787d1f6a6a87bf5194f7152cc906b02973"
    
    13
    - features = ["client", "server", "app-svc", "external-sqlite"]
    
    14
    - 
    
    15
    - [build-dependencies]

  • projects/glean/config
    ... ... @@ -19,13 +19,15 @@ var:
    19 19
         - torsocks
    
    20 20
       glean_wheels_sha256sum:
    
    21 21
         14.0.1: 95f01d0e158ae7968680029b7d9c2908895e1d1ec1ba4e6a044648a05af4ee0c
    
    22
    +    17.1.0: d96ef1995676fc3b838efb84283294befd5060ca64eea94fb67ae1f41d422664
    
    22 23
       glean_wheels_url:
    
    23 24
         14.0.1: https://build-sources.tbb.torproject.org/glean-wheels-14.0.1.tar.xz
    
    25
    +    17.1.0: https://build-sources.tbb.torproject.org/glean-wheels-17.1.0.tar.xz
    
    24 26
     
    
    25 27
     steps:
    
    26 28
       create_glean_deps_tarball:
    
    27 29
         git_url: ''
    
    28
    -    version: 14.0.1
    
    30
    +    version: 17.1.0
    
    29 31
         filename: 'glean-wheels-[% c("version") %].tar.xz'
    
    30 32
         build_log: '-'
    
    31 33
         container:
    

  • projects/gradle/config
    ... ... @@ -7,6 +7,7 @@ container:
    7 7
     var:
    
    8 8
       gradle_sha256sum:
    
    9 9
         8.8: a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612
    
    10
    +    8.13: 20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
    
    10 11
     
    
    11 12
     input_files:
    
    12 13
       - project: container-image
    

  • projects/uniffi-rs/config
    1 1
     # vim: filetype=yaml sw=2
    
    2
    -version: 0.27.1
    
    3
    -git_hash: bfb52effb0292f16d4c030d622887781639cbd1f
    
    4
    -git_url: https://gitlab.torproject.org/tpo/applications/uniffi-rs.git
    
    2
    +version: 0.29.0
    
    3
    +git_hash: c69eba9eb08b16a66aab7b25df6c55d0b60541db
    
    4
    +git_url: https://gitlab.torproject.org/tpo/applications/uniffi-rs
    
    5 5
     container:
    
    6 6
       use_container: 1
    
    7 7
     
    
    ... ... @@ -17,4 +17,4 @@ steps:
    17 17
             project: uniffi-rs
    
    18 18
             pkg_type: cargo_vendor
    
    19 19
             norec:
    
    20
    -          sha256sum: 12a61a3dbe65a3946ed58fff3d849d11c9ade5818e2ef5771d2a2a531e25f553
    20
    +          sha256sum: 23c79da9169064f42c34b9dadfee9dcf5ed251f9843615ca3e9a0e59a49f581d