mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 09:54:42 +00:00
Bug 1767204 - NetBSD Bootstrapper r=firefox-build-system-reviewers,glandium,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D145186
This commit is contained in:
parent
d32f90fe46
commit
0832272ff8
@ -211,7 +211,7 @@ class Bootstrapper(object):
|
||||
cls = OpenBSDBootstrapper
|
||||
args["version"] = platform.uname()[2]
|
||||
|
||||
elif sys.platform.startswith("dragonfly") or sys.platform.startswith("freebsd"):
|
||||
elif sys.platform.startswith(("dragonfly", "freebsd", "netbsd")):
|
||||
cls = FreeBSDBootstrapper
|
||||
args["version"] = platform.release()
|
||||
args["flavor"] = platform.system()
|
||||
@ -221,7 +221,6 @@ class Bootstrapper(object):
|
||||
cls = MozillaBuildBootstrapper
|
||||
else:
|
||||
cls = WindowsBootstrapper
|
||||
|
||||
if cls is None:
|
||||
raise NotImplementedError(
|
||||
"Bootstrap support is not yet available " "for your OS."
|
||||
|
@ -18,8 +18,9 @@ class FreeBSDBootstrapper(BaseBootstrapper):
|
||||
self.packages = [
|
||||
"gmake",
|
||||
"gtar",
|
||||
"m4",
|
||||
"pkgconf",
|
||||
"py%s%s-sqlite3" % sys.version_info[0:2],
|
||||
"py%d%d-sqlite3" % sys.version_info[0:2],
|
||||
"rust",
|
||||
"watchman",
|
||||
"zip",
|
||||
@ -27,12 +28,9 @@ class FreeBSDBootstrapper(BaseBootstrapper):
|
||||
|
||||
self.browser_packages = [
|
||||
"dbus-glib",
|
||||
"gtk3",
|
||||
"libXt",
|
||||
"mesa-dri", # depends on llvm*
|
||||
"nasm",
|
||||
"pulseaudio",
|
||||
"v4l_compat",
|
||||
]
|
||||
|
||||
if not which("as"):
|
||||
@ -42,7 +40,10 @@ class FreeBSDBootstrapper(BaseBootstrapper):
|
||||
self.packages.append("unzip")
|
||||
|
||||
def pkg_install(self, *packages):
|
||||
command = ["pkg", "install"]
|
||||
if sys.platform.startswith("netbsd"):
|
||||
command = ["pkgin", "install"]
|
||||
else:
|
||||
command = ["pkg", "install"]
|
||||
if self.no_interactive:
|
||||
command.append("-y")
|
||||
|
||||
@ -54,7 +55,12 @@ class FreeBSDBootstrapper(BaseBootstrapper):
|
||||
|
||||
def install_browser_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
# TODO: Figure out what not to install for artifact mode
|
||||
self.pkg_install(*self.browser_packages)
|
||||
packages = self.browser_packages.copy()
|
||||
if sys.platform.startswith("netbsd"):
|
||||
packages.extend(["brotli", "gtk3+", "libv4l"])
|
||||
else:
|
||||
packages.extend(["gtk3", "mesa-dri", "v4l_compat"])
|
||||
self.pkg_install(*packages)
|
||||
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.install_browser_packages(mozconfig_builder, artifact_mode=True)
|
||||
@ -65,7 +71,10 @@ class FreeBSDBootstrapper(BaseBootstrapper):
|
||||
|
||||
def ensure_stylo_packages(self):
|
||||
# Clang / llvm already installed as browser package
|
||||
self.pkg_install("rust-cbindgen")
|
||||
if sys.platform.startswith("netbsd"):
|
||||
self.pkg_install("cbindgen")
|
||||
else:
|
||||
self.pkg_install("rust-cbindgen")
|
||||
|
||||
def ensure_nasm_packages(self):
|
||||
# installed via install_browser_packages
|
||||
|
@ -26,6 +26,7 @@ RUSTUP_HASHES = {
|
||||
"x86_64-apple-darwin": "39101feb178a7e3e4443b09b36338e794a9e00385e5f44a2f7789aefb91354a9",
|
||||
"x86_64-unknown-linux-gnu": "ed7773edaf1d289656bdec2aacad12413b38ad0193fff54b2231f5140a4b07c5",
|
||||
"x86_64-pc-windows-msvc": "a586cf9de3e4aa791fd5796b6a5f99ca05591ccef8bb94e53af5b69f0261fb03",
|
||||
"x86_64-unknown-netbsd": "8b29918e765f2cec3b81a911652b164471c42f8f31241f7401bb89582d6a3ed5",
|
||||
}
|
||||
|
||||
NO_PLATFORM = """
|
||||
@ -64,6 +65,8 @@ def platform():
|
||||
return "x86_64-unknown-linux-gnu"
|
||||
elif sys.platform.startswith("freebsd"):
|
||||
return "x86_64-unknown-freebsd"
|
||||
elif sys.platform.startswith("netbsd"):
|
||||
return "x86_64-unknown-netbsd"
|
||||
|
||||
return None
|
||||
|
||||
|
@ -71,6 +71,7 @@ def install_moz_phab(command_context, force=False):
|
||||
or sys.platform.startswith("openbsd")
|
||||
or sys.platform.startswith("dragonfly")
|
||||
or sys.platform.startswith("freebsd")
|
||||
or sys.platform.startswith("netbsd")
|
||||
):
|
||||
# On all Linux and BSD distros we consider doing a user installation.
|
||||
platform_prefers_user_install = True
|
||||
|
Loading…
Reference in New Issue
Block a user