зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1275437 - Windows bootstrapper installs necessary system and browser packages that come from pacman. r=gps
Windows bootstrapper checks if pacman is installed before continuing. Added a convenience method similar to BaseBootstrapper.which that works with the mingw version of python in msys2. MozReview-Commit-ID: 6AG2c18KF0U --HG-- extra : rebase_source : a76fecf19d81d05e1515647b60f118c590dd3518
This commit is contained in:
Родитель
a1591449e7
Коммит
3567dafbb6
|
@ -10,14 +10,57 @@ from mozboot.base import BaseBootstrapper
|
|||
|
||||
class WindowsBootstrapper(BaseBootstrapper):
|
||||
'''Bootstrapper for msys2 based environments for building in Windows.'''
|
||||
|
||||
SYSTEM_PACKAGES = [
|
||||
'mingw-w64-x86_64-make',
|
||||
'mingw-w64-x86_64-python2',
|
||||
'mingw-w64-x86_64-python2-pip',
|
||||
'mingw-w64-x86_64-perl',
|
||||
'patch',
|
||||
'patchutils',
|
||||
'diffutils',
|
||||
'autoconf2.13',
|
||||
'tar',
|
||||
'zip',
|
||||
'unzip',
|
||||
'mingw-w64-x86_64-toolchain', # TODO: Should be removed when Mercurial is installable from a wheel.
|
||||
'mingw-w64-i686-toolchain'
|
||||
]
|
||||
|
||||
BROWSER_PACKAGES = [
|
||||
'mingw-w64-x86_64-yasm',
|
||||
'mingw-w64-i686-nsis'
|
||||
]
|
||||
|
||||
MOBILE_ANDROID_COMMON_PACKAGES = [
|
||||
'wget'
|
||||
]
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
if 'MOZ_WINDOWS_BOOTSTRAP' not in os.environ or os.environ['MOZ_WINDOWS_BOOTSTRAP'] != '1':
|
||||
raise NotImplementedError('Bootstrap support for Windows is under development. For now, use MozillaBuild '
|
||||
'to set up a build environment on Windows. If you are testing Windows Bootstrap support, '
|
||||
'try `export MOZ_WINDOWS_BOOTSTRAP=1`')
|
||||
BaseBootstrapper.__init__(self, **kwargs)
|
||||
raise NotImplementedError('Bootstrap support is not yet available for Windows. '
|
||||
'For now, use MozillaBuild to set up a build environment on Windows.')
|
||||
if not self.which('pacman.exe'):
|
||||
raise NotImplementedError('The Windows bootstrapper only works with msys2 with pacman. Get msys2 at '
|
||||
'http://msys2.github.io/')
|
||||
print 'Using an experimental bootstrapper for Windows.'
|
||||
|
||||
def install_system_packages(self):
|
||||
self.pacman_install(*self.SYSTEM_PACKAGES)
|
||||
|
||||
def install_browser_packages(self):
|
||||
self.pacman_install(*self.BROWSER_PACKAGES)
|
||||
|
||||
def install_mobile_android_packages(self):
|
||||
raise NotImplementedError('We do not support building Android on Windows. Sorry!')
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self):
|
||||
raise NotImplementedError('We do not support building Android on Windows. Sorry!')
|
||||
|
||||
def _update_package_manager(self):
|
||||
self.pacman_update()
|
||||
|
||||
def run(self, command):
|
||||
subprocess.check_call(command, stdin=sys.stdin)
|
||||
|
|
Загрузка…
Ссылка в новой задаче