The nixpkgs drmSupport?true option to the firefox package causes
compilation with --disable-eme. This flag has been silently ignored
by Firefox since September of 2016. I only noticed because some
recent change caused --disable-eme on aarch64 to cause a build failure
(shown below).
We should not mislead users into thinking that it is possible to turn
off EME at compile time.
This commit asserts `drmSupport` and prints an explanation of the
situation if that assertion fails. I recommend we leave this
assertion for one release cycle to warn anybody who might have been
using it, and then drop the option in the following release.
0:11.70(B Traceback (most recent call last):(B
0:11.70(B File "/build/firefox-91.8.0/configure.py", line 226, in <module>(B
0:11.71(B sys.exit(main(sys.argv))(B
0:11.71(B File "/build/firefox-91.8.0/configure.py", line 50, in main(B
0:11.71(B sandbox.run(os.path.join(os.path.dirname(__file__), "moz.configure"))(B
0:11.71(B File "/build/firefox-91.8.0/python/mozbuild/mozbuild/configure/__init__.py", line 507, in run(B
0:11.71(B self._value_for(option)(B
0:11.71(B File "/build/firefox-91.8.0/python/mozbuild/mozbuild/configure/__init__.py", line 612, in _value_for(B
0:11.71(B return self._value_for_option(obj)(B
0:11.71(B File "/build/firefox-91.8.0/python/mozbuild/mozbuild/util.py", line 1050, in method_call(B
0:11.72(B cache[args] = self.func(instance, *args)(B
0:11.72(B File "/build/firefox-91.8.0/python/mozbuild/mozbuild/configure/__init__.py", line 679, in _value_for_option(B
0:11.72(B raise InvalidOptionError((B
0:11.72(B mozbuild.configure.options.InvalidOptionError: --disable-eme is not available in this configuration(B
Error running mach:
['configure', '--prefix=/nix/store/4s2hn4hnm96frmdh6bd6qzxsphvsdf1y-firefox-esr-unwrapped-91.8.0esr', '--disable-tests', '--disable-updater', '--enable-application=browser', '--enable-default-toolkit=cairo-gtk3-wayland', '--enable-system-pixman', '--with-libclang-path=/nix/store/cggszyf7mjlzrp9vxrlffvdr9nqjjd13-clang-14.0.1-lib/lib', '--with-system-ffi', '--with-system-icu', '--disable-dbus', '--disable-accessibility', '--with-system-jpeg', '--with-system-libevent', '--with-system-libvpx', '--with-system-nspr', '--with-system-nss', '--with-system-png', '--with-system-webp', '--with-system-zlib', '--enable-lto=cross', '--enable-linker=lld', '--enable-alsa', '--disable-pulseaudio', '--enable-ffmpeg', '--enable-jemalloc', '--disable-necko-wifi', '--enable-negotiateauth', '--disable-webrtc', '--disable-crashreporter', '--disable-eme', '--disable-debug', '--enable-optimize', '--enable-release', '--enable-debug-symbols', '--disable-strip', '--disable-install-strip', '--enable-official-branding']
The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file configure| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.
If filing a bug, please include the full output of mach, including this error
message.
The details of the failure are as follows:
Exception: Process executed with non-0 exit code 1: ['/nix/store/s6lwpx258l9ypq8phghzdhrnidnfgjk3-python3-3.9.12/bin/python3', '/build/firefox-91.8.0/configure.py', '--prefix=/nix/store/4s2hn4hnm96frmdh6bd6qzxsphvsdf1y-firefox-esr-unwrapped-91.8.0esr', '--disable-tests', '--disable-updater', '--enable-application=browser', '--enable-default-toolkit=cairo-gtk3-wayland', '--enable-system-pixman', '--with-libclang-path=/nix/store/cggszyf7mjlzrp9vxrlffvdr9nqjjd13-clang-14.0.1-lib/lib', '--with-system-ffi', '--with-system-icu', '--disable-dbus', '--disable-accessibility', '--with-system-jpeg', '--with-system-libevent', '--with-system-libvpx', '--with-system-nspr', '--with-system-nss', '--with-system-png', '--with-system-webp', '--with-system-zlib', '--enable-lto=cross', '--enable-linker=lld', '--enable-alsa', '--disable-pulseaudio', '--enable-ffmpeg', '--enable-jemalloc', '--disable-necko-wifi', '--enable-negotiateauth', '--disable-webrtc', '--disable-crashreporter', '--disable-eme', '--disable-debug', '--enable-optimize', '--enable-release', '--enable-debug-symbols', '--disable-strip', '--disable-install-strip', '--enable-official-branding']
File "/build/firefox-91.8.0/python/mozbuild/mozbuild/build_commands.py", line 185, in configure
return driver.configure(
File "/build/firefox-91.8.0/python/mozbuild/mozbuild/controller/building.py", line 1528, in configure
status = self._run_command_in_objdir(
File "/build/firefox-91.8.0/python/mozbuild/mozbuild/base.py", line 845, in _run_command_in_objdir
return self.run_process(cwd=self.topobjdir, **args)
File "/build/firefox-91.8.0/python/mach/mach/mixin/process.py", line 176, in run_process
raise Exception(
note: keeping build directory '/tmp/nix-build-firefox-esr-unwrapped-91.8.0esr.drv-1'