# vim: filetype=yaml sw=2
version: '[% c("var/torbrowser_version") %]'
filename: '[% c("var/project-name") %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
timestamp: '[% c("var/browser_release_date_timestamp") %]'
container:
  use_container: 1

var:
  ddmg: '[% INCLUDE ddmg.sh %]'
  deps:
    - python3
    - bzip2
    - jq
  mar_osname: '[% c("var/osname") %]'
  version_json: version.json


targets:

  linux:
    var:
      arch_deps:
        # Install libc6-i386 to be able to run 32bit mar tools in linux-i686
        # builds (bug 29812). We don't need it in x86_64 builds, but we
        # share the container to reduce space used.
        - libc6-i386
      pt_path: ./TorBrowser/Tor/PluggableTransports/

  macos:
    var:
      arch_deps:
        - faketime
        - python3-dev
        - python3-pip
        - python3-distutils-extra
        - python3-psutil
      pt_path: PluggableTransports/

  macos-universal:
    var:
      mar_osname: macos

  windows:
    var:
      arch_deps:
        - python3-pefile
      pt_path: TorBrowser\Tor\PluggableTransports\

  android:
    build: '[% INCLUDE build.android %]'
    var:
      arch_deps:
        - 7zip
        - openjdk-17-jdk-headless
        - bsdiff
      container:
        # 7zip is in backports in bullseye, and we can already use Java 17 for
        # apksigner.
        suite: bookworm
        arch: amd64

  torbrowser:
    var:
      prefs_file: 000-tor-browser.js
      version_json: tbb_version.json

  basebrowser:
    var:
      prefs_file: 001-base-profile.js

  mullvadbrowser:
    var:
      prefs_file: 001-base-profile.js


input_files:
  - project: container-image
  - project: firefox
    name: firefox
    enable: '[% ! c("var/android") %]'
  - project: firefox
    name: firefox-aarch64
    enable: '[% c("var/macos_universal") %]'
    target_prepend:
      - macos-aarch64
  - project: firefox
    name: src-firefox
    pkg_type: src-tarballs
    enable: '[% c("var/macos") %]'
  - project: geckoview
    name: fenix
    pkg_type: build_apk
    enable: '[% c("var/android") && !c("var/android_single_arch") %]'
  - project: geckoview
    name: fenix
    pkg_type: build
    enable: '[% c("var/android") && c("var/android_single_arch") %]'
  - project: tor-expert-bundle
    name: tor-expert-bundle
    enable: '[% c("var/tor-browser") %]'
  - project: tor-expert-bundle
    name: tor-expert-bundle-aarch64
    enable: '[% c("var/macos_universal") && c("var/tor-browser") %]'
    target_replace:
      '^torbrowser-macos.*': torbrowser-macos-aarch64
  - project: fonts
    name: fonts
    enable: '[% ! c("var/android") %]'
  - filename: Bundle-Data
    enable: '[% ! c("var/android") %]'
  - URL: https://addons.mozilla.org/firefox/downloads/file/4379558/noscript-11.5.2.xpi
    name: noscript
    sha256sum: 460aaa6484bf8422415dfe08260e8536866e3731ed5b8b7913cf4b7b1333493a
  - URL: https://addons.mozilla.org/firefox/downloads/file/4359936/ublock_origin-1.60.0.xpi
    name: ublock-origin
    sha256sum: e2cda9b2a1b0a7f6e5ef0da9f87f28df52f8560587ba2e51a3003121cfb81600
    enable: '[% c("var/mullvad-browser") %]'
  - URL: https://cdn.mullvad.net/browser-extension/0.9.3/mullvad-browser-extension-0.9.3.xpi
    name: mullvad-extension
    sha256sum: fc6bc7c850adf8845fec15b7ea06324f65f843155e2cc5dbd8719e34436512af
    enable: '[% c("var/mullvad-browser") %]'
  - filename: 'gtk3-settings.ini'
    enable: '[% c("var/linux") %]'
  - project: hfsplus-tools
    name: hfsplus-tools
    enable: '[% c("var/macos") %]'
  - project: libdmg-hfsplus
    name: libdmg
    enable: '[% c("var/macos") %]'
  - project: nsis
    name: nsis
    enable: '[% c("var/windows") %]'
  - filename: windows-installer
    enable: '[% c("var/windows") %]'
  - filename: 'defines.nsh'
    content: '[% INCLUDE "windows-installer/defines.nsh.in" %]'
    refresh_input: 1
    enable: '[% c("var/windows") %]'
  - filename: pe_checksum_fix.py
    enable: '[% c("var/windows") %]'
  - project: translation
    name: translation-base-browser
    pkg_type: base-browser
    enable: '[% c("var/windows") && !c("var/testbuild") %]'
  - project: translation
    name: translation-mullvad-browser
    pkg_type: mullvad-browser
    enable: '[% c("var/mullvad-browser") && c("var/windows") && !c("var/testbuild") %]'
  # To generate a new keystore, see how-to-generate-keystore.txt
  - filename: android-qa.keystore
    enable: '[% c("var/android") %]'
  - name: '[% c("var/compiler") %]'
    project: '[% c("var/compiler") %]'
    enable: '[% c("var/android") || c("var/macos") %]'
  - name: electrum-nmc
    project: electrum-nmc
    enable: '[% c("var/namecoin") %]'
  - name: ncprop279
    project: ncprop279
    enable: '[% c("var/namecoin") %]'
  - name: stemns
    project: stemns
    enable: '[% c("var/namecoin") %]'
  - filename: namecoin.patch
    enable: '[% c("var/namecoin") %]'
  - project: manual
    name: manual
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
    # tor-browser-build#40920
  - filename: sort-baseline.py
    enable: '[% c("var/android") %]'
