commit: 91705546be499697c47b56a28895a519b7c31444 Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org> AuthorDate: Thu Sep 28 14:09:04 2017 +0000 Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org> CommitDate: Thu Sep 28 14:09:04 2017 +0000 URL: https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=91705546
www-client/firefox: add eme-free use flag to buildtime-disable all DRM plugin loading For those wanting to ensure firefox will never load any closed DRM content plugins or allow any user on the system to do so in their profile, USE="eme-free" now triggers --disable-eme in the build configuration, which entirely removes the capability of DRM plugin loading. This flag nullifies the effect that USE=-gmp-autoupdate performs but a REQUIRED_USE was not implemented as forcing package.use modifications seems overkill for what becomes a do-nothing flag. www-client/firefox/firefox-52.4.0.ebuild | 8 +++++--- www-client/firefox/firefox-56.0.ebuild | 8 +++++--- www-client/firefox/metadata.xml | 1 + 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/www-client/firefox/firefox-52.4.0.ebuild b/www-client/firefox/firefox-52.4.0.ebuild index ab4e45d..ebd29fb 100644 --- a/www-client/firefox/firefox-52.4.0.ebuild +++ b/www-client/firefox/firefox-52.4.0.ebuild @@ -39,7 +39,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-lin SLOT="0" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -IUSE="bindist +gmp-autoupdate hardened hwaccel jack pgo rust selinux test" +IUSE="bindist eme-free +gmp-autoupdate hardened hwaccel jack pgo rust selinux test" RESTRICT="!bindist? ( bindist )" PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz ) @@ -204,6 +204,8 @@ src_configure() { # enable JACK, bug 600002 mozconfig_use_enable jack + use eme-free && mozconfig_annotate '+eme-free' --disable-eme + # It doesn't compile on alpha without this LDFLAGS use alpha && append-ldflags "-Wl,--no-relax" @@ -298,7 +300,7 @@ src_install() { || die local plugin - use gmp-autoupdate || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do + use gmp-autoupdate || || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ || die @@ -386,7 +388,7 @@ pkg_postinst() { xdg_desktop_database_update gnome2_icon_cache_update - if ! use gmp-autoupdate ; then + if ! use gmp-autoupdate && ! use eme-free ; then elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" elog "installing into new profiles:" local plugin diff --git a/www-client/firefox/firefox-56.0.ebuild b/www-client/firefox/firefox-56.0.ebuild index 144ad8f..b970878 100644 --- a/www-client/firefox/firefox-56.0.ebuild +++ b/www-client/firefox/firefox-56.0.ebuild @@ -38,7 +38,7 @@ KEYWORDS="~amd64 ~x86" SLOT="0" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -IUSE="bindist +gmp-autoupdate hardened hwaccel jack nsplugin pgo selinux test" +IUSE="bindist eme-free +gmp-autoupdate hardened hwaccel jack nsplugin pgo selinux test" RESTRICT="!bindist? ( bindist )" PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz ) @@ -195,6 +195,8 @@ src_configure() { # enable JACK, bug 600002 mozconfig_use_enable jack + use eme-free && mozconfig_annotate '+eme-free' --disable-eme + # It doesn't compile on alpha without this LDFLAGS use alpha && append-ldflags "-Wl,--no-relax" @@ -292,7 +294,7 @@ src_install() { fi local plugin - use gmp-autoupdate || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do + use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ || die @@ -380,7 +382,7 @@ pkg_postinst() { xdg_desktop_database_update gnome2_icon_cache_update - if ! use gmp-autoupdate ; then + if ! use gmp-autoupdate && ! use eme-free ; then elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" elog "installing into new profiles:" local plugin diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml index 56f4927..a338b44 100644 --- a/www-client/firefox/metadata.xml +++ b/www-client/firefox/metadata.xml @@ -10,6 +10,7 @@ are not binary-redistributable according to upstream.</flag> <flag name="custom-optimization">Build with user-specified compiler optimizations (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag> + <flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag> <flag name="gtk2">Use the cairo-gtk2 rendering engine</flag> <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles</flag>