Bug 1401166 - Simplify llvm40 dependency for ./mach bootstrap on FreeBSD. r?rillian draft
authorJan Beich <jbeich@FreeBSD.org>
Tue, 19 Sep 2017 12:10:30 +0000
changeset 666947 5f2525268ac2b152391b6f3475bdcabf797b0e78
parent 666946 90d2a700b0f6ebd74c0d3bbc40a120026cdc4fe7
child 666948 5624feeb2fc56260140ef36a92fa83563ea02e38
push id80558
push userbmo:jbeich@FreeBSD.org
push dateTue, 19 Sep 2017 13:17:17 +0000
reviewersrillian
bugs1401166
milestone57.0a1
Bug 1401166 - Simplify llvm40 dependency for ./mach bootstrap on FreeBSD. r?rillian GCC isn't safe to use on architectures that switched to Clang because libstdc++ and libc++ aren't very compatible. Newer LLVM and Clang are often already installed as a dependency for Mesa packages. So, always require llvm* package. MozReview-Commit-ID: 8651mz5tiIp
python/mozboot/mozboot/freebsd.py
--- a/python/mozboot/mozboot/freebsd.py
+++ b/python/mozboot/mozboot/freebsd.py
@@ -21,28 +21,25 @@ class FreeBSDBootstrapper(BaseBootstrapp
             'zip',
         ]
 
         self.browser_packages = [
             'dbus-glib',
             'gconf2',
             'gtk2',
             'gtk3',
+            'llvm40',
             'pulseaudio',
             'v4l_compat',
             'yasm',
         ]
 
         if not self.which('unzip'):
             self.packages.append('unzip')
 
-        # GCC 4.2 or Clang 3.4 in base are too old
-        if self.flavor == 'freebsd' and self.version < 11:
-            self.browser_packages.append('gcc')
-
     def pkg_install(self, *packages):
         command = ['pkg', 'install']
         if self.no_interactive:
             command.append('-y')
 
         command.extend(packages)
         self.run_as_root(command)
 
@@ -55,12 +52,13 @@ class FreeBSDBootstrapper(BaseBootstrapp
     def install_browser_artifact_mode_packages(self):
         self.ensure_browser_packages(artifact_mode=True)
 
     def ensure_browser_packages(self, artifact_mode=False):
         # TODO: Figure out what not to install for artifact mode
         self.pkg_install(*self.browser_packages)
 
     def ensure_stylo_packages(self, state_dir, checkout_root):
-        self.pkg_install('llvm40')
+        # Already installed as browser package
+        pass
 
     def upgrade_mercurial(self, current):
         self.pkg_install('mercurial')