config 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. # vim: filetype=yaml sw=2
  2. version: '[% c("abbrev") %]'
  3. filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
  4. git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
  5. tag_gpg_id: 1
  6. git_url: https://git.torproject.org/tor-browser.git
  7. git_submodule: 1
  8. gpg_keyring: torbutton.gpg
  9. var:
  10. firefox_platform_version: 68.8.0
  11. firefox_version: '[% c("var/firefox_platform_version") %]esr'
  12. torbrowser_branch: 9.5
  13. branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE %]browser[% END %]/branding/alpha'
  14. copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
  15. deps:
  16. - build-essential
  17. - unzip
  18. - zip
  19. - autoconf2.13
  20. - yasm
  21. # We are building our own version of Python 3.6, which is required
  22. # for the build. However mach still requires Python 2.7, so we
  23. # install this version using the package.
  24. - python
  25. - pkg-config
  26. container:
  27. use_container: 1
  28. # this should be updated when the list of gradle dependencies is changed
  29. gradle_dependencies_version: 6
  30. # used by projects/firefox-locale-bundle
  31. l10n-changesets.json: '[% exec("cat mobile/locales/l10n-changesets.json") %]'
  32. steps:
  33. src-tarballs:
  34. filename: 'src-[% project %]-[% c("version") %].tar.xz'
  35. version: '[% c("git_hash") %]'
  36. input_files: []
  37. var:
  38. container:
  39. use_container: 0
  40. targets:
  41. nightly:
  42. version: '[% c("abbrev") %]'
  43. targets:
  44. release:
  45. var:
  46. branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE %]browser[% END %]/branding/official'
  47. nightly:
  48. git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1'
  49. tag_gpg_id: 0
  50. var:
  51. branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE %]browser[% END %]/branding/nightly'
  52. linux:
  53. var:
  54. post_pkginst: |
  55. # Firefox ESR68 needs Yasm >= 1.2.0 which Debian Wheezy ships in backports.
  56. echo 'deb http://archive.debian.org/debian/ wheezy-backports main' >> /etc/apt/sources.list
  57. export DEBIAN_FRONTEND=noninteractive
  58. apt-get update
  59. apt-get install -t wheezy-backports -y yasm
  60. linux-x86_64:
  61. var:
  62. martools_filename: mar-tools-linux64.zip
  63. arch_deps:
  64. - libgtk2.0-dev
  65. - libgtk-3-dev
  66. - libdbus-glib-1-dev
  67. - libxt-dev
  68. - hardening-wrapper
  69. # To pass configure since ESR 31.
  70. - libpulse-dev
  71. # To pass configure since ESR 52
  72. - libx11-xcb-dev
  73. linux-i686:
  74. var:
  75. martools_filename: mar-tools-linux32.zip
  76. sort_deps: 0
  77. arch_deps:
  78. - libgtk2.0-dev:i386
  79. - libgtk-3-dev:i386
  80. - libdbus-glib-1-dev:i386
  81. - libxt-dev:i386
  82. - hardening-wrapper
  83. # To pass configure since ESR 31.
  84. - libpulse-dev:i386
  85. # To pass configure since ESR 52
  86. - libx11-xcb-dev:i386
  87. linux-arm:
  88. var:
  89. martools_filename: mar-tools-linuxarm.zip
  90. linux-ppc64le:
  91. var:
  92. martools_filename: mar-tools-linuxppc64le.zip
  93. post_pkginst: |
  94. export DEBIAN_FRONTEND=noninteractive
  95. # The recommended packages produce a package conflict.
  96. apt-get -y install --no-install-suggests --no-install-recommends libgtk2.0-dev:[% c("var/arch_debian") %]
  97. apt-get -y install --no-install-suggests --no-install-recommends libgtk-3-dev:[% c("var/arch_debian") %]
  98. apt-get -y install --no-install-suggests --no-install-recommends libdbus-glib-1-dev:[% c("var/arch_debian") %]
  99. apt-get -y install --no-install-suggests --no-install-recommends libxt-dev:[% c("var/arch_debian") %]
  100. apt-get -y install --no-install-suggests --no-install-recommends libpulse-dev:[% c("var/arch_debian") %]
  101. apt-get -y install --no-install-suggests --no-install-recommends libx11-xcb-dev:[% c("var/arch_debian") %]
  102. apt-get -y install --no-install-suggests --no-install-recommends libgcc-8-dev:[% c("var/arch_debian") %]
  103. apt-get -y install --no-install-suggests --no-install-recommends libstdc++-8-dev:[% c("var/arch_debian") %]
  104. # TODO: Build gcc+stdlib from source.
  105. apt-get -y install --no-install-suggests --no-install-recommends rustc
  106. apt-get -y install --no-install-suggests --no-install-recommends cargo
  107. apt-get -y install --no-install-suggests --no-install-recommends libstd-rust-dev:[% c("var/arch_debian") %]
  108. linux-cross:
  109. var:
  110. container:
  111. use_container: 1
  112. suite: buster
  113. arch: amd64
  114. post_pkginst: |
  115. export DEBIAN_FRONTEND=noninteractive
  116. # The recommended packages produce a package conflict.
  117. apt-get -y install --no-install-suggests --no-install-recommends libgtk2.0-dev:[% c("var/arch_debian") %]
  118. apt-get -y install --no-install-suggests --no-install-recommends libgtk-3-dev:[% c("var/arch_debian") %]
  119. apt-get -y install --no-install-suggests --no-install-recommends libdbus-glib-1-dev:[% c("var/arch_debian") %]
  120. apt-get -y install --no-install-suggests --no-install-recommends libxt-dev:[% c("var/arch_debian") %]
  121. apt-get -y install --no-install-suggests --no-install-recommends libpulse-dev:[% c("var/arch_debian") %]
  122. apt-get -y install --no-install-suggests --no-install-recommends libx11-xcb-dev:[% c("var/arch_debian") %]
  123. apt-get -y install --no-install-suggests --no-install-recommends libgcc-8-dev:[% c("var/arch_debian") %]
  124. apt-get -y install --no-install-suggests --no-install-recommends libstdc++-8-dev:[% c("var/arch_debian") %]
  125. # TODO: Build gcc+stdlib from source.
  126. arch_deps:
  127. - yasm
  128. osx-x86_64:
  129. var:
  130. martools_filename: mar-tools-mac64.zip
  131. arch_deps:
  132. - rsync
  133. windows:
  134. var:
  135. arch_deps:
  136. - wine
  137. pre_pkginst: |
  138. [% IF c("var/windows-i686") -%]
  139. # We need this to install wine32
  140. dpkg --add-architecture i386
  141. [% END -%]
  142. echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
  143. post_pkginst: |
  144. # We need to have at least 3.0.3 which Mozilla is using in the
  145. # mingw-w64/clang build process
  146. apt-get -y -t stretch-backports install wine[% IF c("var/windows-i686") %]32[% END %]
  147. compiler: mingw-w64-clang
  148. windows-i686:
  149. var:
  150. martools_filename: mar-tools-win32.zip
  151. windows-x86_64:
  152. var:
  153. martools_filename: mar-tools-win64.zip
  154. input_files:
  155. - project: container-image
  156. - name: '[% c("var/compiler") %]'
  157. project: '[% c("var/compiler") %]'
  158. enable: '[% ! c("var/linux-cross") %]'
  159. - filename: get-moz-build-date
  160. - filename: 'mozconfig-[% c("var/osname") %]'
  161. name: mozconfig
  162. - project: binutils
  163. name: binutils
  164. enable: '[% c("var/linux") || c("var/android") %]'
  165. - filename: fix-info-plist.py
  166. enable: '[% c("var/osx") %]'
  167. - filename: linux-arm-neon.patch
  168. enable: '[% c("var/linux-arm") %]'
  169. - filename: linux-arm-wasm.patch
  170. enable: '[% c("var/linux-arm") %]'
  171. # Linux ARM WASM patch from https://github.com/archlinuxarm/PKGBUILDs/blob/001eccbae9dcac00b6bf29b032f28786aba9afdd/extra/firefox/arm.patch
  172. - filename: linux-ppc64le-mpcpucache.patch
  173. enable: '[% c("var/linux-ppc64le") %]'
  174. - filename: nsis-uninstall.patch
  175. enable: '[% c("var/windows") %]'
  176. - project: rust
  177. name: rust
  178. enable: '[% ! c("var/linux-ppc64le") %]'
  179. - project: cbindgen
  180. name: cbindgen
  181. - project: node
  182. name: node
  183. enable: '[% ! c("var/linux-cross") %]'
  184. - project: node
  185. name: node
  186. enable: '[% c("var/linux-cross") %]'
  187. target:
  188. - '[% c("var/channel") %]'
  189. - 'torbrowser-linux-x86_64'
  190. - project: nasm
  191. name: nasm
  192. enable: '[% ! c("var/linux-cross") %]'
  193. - project: nasm
  194. name: nasm
  195. enable: '[% c("var/linux-cross") %]'
  196. target:
  197. - '[% c("var/channel") %]'
  198. - 'torbrowser-linux-x86_64'
  199. - project: python
  200. name: python
  201. - project: clang
  202. name: clang
  203. enable: '[% ! c("var/linux-cross") %]'
  204. - project: clang
  205. name: clang
  206. enable: '[% c("var/linux-cross") %]'
  207. target:
  208. - '[% c("var/channel") %]'
  209. - 'torbrowser-linux-x86_64'
  210. - project: fxc2
  211. name: fxc2
  212. enable: '[% c("var/windows") %]'
  213. - name: mingw-w64
  214. project: mingw-w64
  215. enable: '[% c("var/windows") %]'
  216. - filename: abicheck.cc
  217. enable: '[% c("var/linux") %]'
  218. - filename: start-firefox
  219. enable: '[% c("var/linux") %]'
  220. - project: tor-launcher
  221. name: tor-launcher
  222. enable: '[% ! c("var/android") %]'
  223. - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
  224. name: gradle-dependencies
  225. exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
  226. enable: '[% c("var/android") %]'
  227. - project: tor-android-service
  228. name: tor-android-service
  229. enable: '[% c("var/android") %]'
  230. - project: tor-onion-proxy-library
  231. name: topl
  232. enable: '[% c("var/android") %]'
  233. - project: firefox-locale-bundle
  234. name: firefox-locale-bundle
  235. enable: '[% c("var/android") %]'
  236. - project: tba-translation
  237. name: tba-translation
  238. enable: '[% c("var/android") %]'
  239. - filename: nightly-marsigner.der
  240. enable: '[% c("var/nightly") %]'
  241. - filename: namecoin-torbutton.patch
  242. enable: '[% c("var/namecoin") %]'
  243. # TorButton patch authored by Arthur Edelstein, from https://github.com/arthuredelstein/torbutton/ branch 2.1.10-namecoin
  244. - filename: namecoin-etld.patch
  245. enable: '[% c("var/namecoin") %]'