config 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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-cross:
  91. var:
  92. container:
  93. use_container: 1
  94. suite: buster
  95. arch: amd64
  96. post_pkginst: |
  97. export DEBIAN_FRONTEND=noninteractive
  98. # The recommended packages produce a package conflict.
  99. apt-get -y install --no-install-suggests --no-install-recommends libgtk2.0-dev:[% c("var/arch_debian") %]
  100. apt-get -y install --no-install-suggests --no-install-recommends libgtk-3-dev:[% c("var/arch_debian") %]
  101. apt-get -y install --no-install-suggests --no-install-recommends libdbus-glib-1-dev:[% c("var/arch_debian") %]
  102. apt-get -y install --no-install-suggests --no-install-recommends libxt-dev:[% c("var/arch_debian") %]
  103. apt-get -y install --no-install-suggests --no-install-recommends libpulse-dev:[% c("var/arch_debian") %]
  104. apt-get -y install --no-install-suggests --no-install-recommends libx11-xcb-dev:[% c("var/arch_debian") %]
  105. apt-get -y install --no-install-suggests --no-install-recommends libgcc-8-dev:[% c("var/arch_debian") %]
  106. apt-get -y install --no-install-suggests --no-install-recommends libstdc++-8-dev:[% c("var/arch_debian") %]
  107. # TODO: Build gcc+stdlib from source.
  108. arch_deps:
  109. - yasm
  110. osx-x86_64:
  111. var:
  112. martools_filename: mar-tools-mac64.zip
  113. arch_deps:
  114. - rsync
  115. windows:
  116. var:
  117. arch_deps:
  118. - wine
  119. pre_pkginst: |
  120. [% IF c("var/windows-i686") -%]
  121. # We need this to install wine32
  122. dpkg --add-architecture i386
  123. [% END -%]
  124. echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
  125. post_pkginst: |
  126. # We need to have at least 3.0.3 which Mozilla is using in the
  127. # mingw-w64/clang build process
  128. apt-get -y -t stretch-backports install wine[% IF c("var/windows-i686") %]32[% END %]
  129. compiler: mingw-w64-clang
  130. windows-i686:
  131. var:
  132. martools_filename: mar-tools-win32.zip
  133. windows-x86_64:
  134. var:
  135. martools_filename: mar-tools-win64.zip
  136. input_files:
  137. - project: container-image
  138. - name: '[% c("var/compiler") %]'
  139. project: '[% c("var/compiler") %]'
  140. enable: '[% ! c("var/linux-cross") %]'
  141. - filename: get-moz-build-date
  142. - filename: 'mozconfig-[% c("var/osname") %]'
  143. name: mozconfig
  144. - project: binutils
  145. name: binutils
  146. enable: '[% c("var/linux") || c("var/android") %]'
  147. - filename: fix-info-plist.py
  148. enable: '[% c("var/osx") %]'
  149. - filename: linux-arm-neon.patch
  150. enable: '[% c("var/linux-arm") %]'
  151. - filename: linux-arm-wasm.patch
  152. enable: '[% c("var/linux-arm") %]'
  153. # Linux ARM WASM patch from https://github.com/archlinuxarm/PKGBUILDs/blob/001eccbae9dcac00b6bf29b032f28786aba9afdd/extra/firefox/arm.patch
  154. - filename: nsis-uninstall.patch
  155. enable: '[% c("var/windows") %]'
  156. - project: rust
  157. name: rust
  158. - project: cbindgen
  159. name: cbindgen
  160. - project: node
  161. name: node
  162. enable: '[% ! c("var/linux-cross") %]'
  163. - project: node
  164. name: node
  165. enable: '[% c("var/linux-cross") %]'
  166. target:
  167. - '[% c("var/channel") %]'
  168. - 'torbrowser-linux-x86_64'
  169. - project: nasm
  170. name: nasm
  171. enable: '[% ! c("var/linux-cross") %]'
  172. - project: nasm
  173. name: nasm
  174. enable: '[% c("var/linux-cross") %]'
  175. target:
  176. - '[% c("var/channel") %]'
  177. - 'torbrowser-linux-x86_64'
  178. - project: python
  179. name: python
  180. - project: clang
  181. name: clang
  182. enable: '[% ! c("var/linux-cross") %]'
  183. - project: clang
  184. name: clang
  185. enable: '[% c("var/linux-cross") %]'
  186. target:
  187. - '[% c("var/channel") %]'
  188. - 'torbrowser-linux-x86_64'
  189. - project: fxc2
  190. name: fxc2
  191. enable: '[% c("var/windows") %]'
  192. - name: mingw-w64
  193. project: mingw-w64
  194. enable: '[% c("var/windows") %]'
  195. - filename: abicheck.cc
  196. enable: '[% c("var/linux") %]'
  197. - filename: start-firefox
  198. enable: '[% c("var/linux") %]'
  199. - project: tor-launcher
  200. name: tor-launcher
  201. enable: '[% ! c("var/android") %]'
  202. - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
  203. name: gradle-dependencies
  204. exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
  205. enable: '[% c("var/android") %]'
  206. - project: tor-android-service
  207. name: tor-android-service
  208. enable: '[% c("var/android") %]'
  209. - project: tor-onion-proxy-library
  210. name: topl
  211. enable: '[% c("var/android") %]'
  212. - project: firefox-locale-bundle
  213. name: firefox-locale-bundle
  214. enable: '[% c("var/android") %]'
  215. - project: tba-translation
  216. name: tba-translation
  217. enable: '[% c("var/android") %]'
  218. - filename: nightly-marsigner.der
  219. enable: '[% c("var/nightly") %]'
  220. - filename: namecoin-torbutton.patch
  221. enable: '[% c("var/namecoin") %]'
  222. # TorButton patch authored by Arthur Edelstein, from https://github.com/arthuredelstein/torbutton/ branch 2.1.10-namecoin
  223. - filename: namecoin-etld.patch
  224. enable: '[% c("var/namecoin") %]'