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>

Reply via email to