Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 571180 - www-client/firefox-44.0 build fails with error: redefinition of 'class mozilla::gl::GLContextProviderEGL' when 'egl' USE flag enabled
Summary: www-client/firefox-44.0 build fails with error: redefinition of 'class mozill...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
: 576924 576964 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-01-07 17:37 UTC by Nicholas Fish
Modified: 2017-08-26 17:56 UTC (History)
20 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log from failed firefox-44.0_beta4 build (firefox-44.0_beta4-with-egl-build.log,660.18 KB, text/plain)
2016-01-07 17:37 UTC, Nicholas Fish
Details
Build log from failed firefox-44.0_beta6 build (firefox-44.0_beta6-egl-build.log.gz,100.54 KB, application/gzip)
2016-01-12 20:07 UTC, Nicholas Fish
Details
Build log from failed firefox-44.0_beta9 build (firefox-44.0_beta9-egl-build.log.gz,100.16 KB, application/gzip)
2016-01-16 21:18 UTC, Nicholas Fish
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas Fish 2016-01-07 17:37:29 UTC
Created attachment 422214 [details]
Build log from failed firefox-44.0_beta4 build

Please assign to mozilla@gentoo.org

I am unable to compile the www-client/firefox-44.0_beta4 ebuild from the mozilla overlay when I turn on the 'egl' USE flag.

I am able to build firefox-44.0_beta4 successfully by omitting the 'egl' USE flag. I am also to build firefox-43.0 from the mozilla overlay successfully with the 'egl' USE flag.

REPRO STEPS
-----------
# USE=egl ebuild /var/lib/layman/mozilla/www-client/firefox/firefox-44.0_beta4.ebuild compile
[...]
x86_64-pc-linux-gnu-g++ -o Unified_cpp_layout_mathml1.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/config/gcc_hidden.h -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/layout/mathml -I. -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/layout/mathml/../base -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/layout/mathml/../generic -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/layout/mathml/../style -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/layout/mathml/../tables -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/layout/mathml/../xul -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/dom/base -I/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/dom/mathml -I../../dist/include  -I/usr/include/nspr -I/usr/include/nss       -fPIC   -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_layout_mathml1.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -march=native -pipe -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -freorder-blocks -Os -fomit-frame-pointer     /var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/ff/layout/mathml/Unified_cpp_layout_mathml1.cpp
In file included from <command-line>:0:0:
./../../mozilla-config.h:122:25: error: redefinition of 'class mozilla::gl::GLContextProviderEGL'
 #define MOZ_GL_PROVIDER GLContextProviderEGL
                         ^
/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/gfx/gl/GLContextProvider.h:66:36: note: in expansion of macro 'MOZ_GL_PROVIDER'
   #define GL_CONTEXT_PROVIDER_NAME MOZ_GL_PROVIDER
                                    ^
/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/gfx/gl/GLContextProviderImpl.h:17:7: note: in expansion of macro 'GL_CONTEXT_PROVIDER_NAME'
 class GL_CONTEXT_PROVIDER_NAME
       ^
In file included from /var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/gfx/gl/GLContext.cpp:21:0,
                 from /var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/ff/gfx/gl/Unified_cpp_gfx_gl0.cpp:47:
/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/gfx/gl/GLContextProvider.h:49:34: error: previous definition of 'class mozilla::gl::GLContextProviderEGL'
 #define GL_CONTEXT_PROVIDER_NAME GLContextProviderEGL
                                  ^
/var/tmp/portage/www-client/firefox-44.0_beta4/work/firefox-44.0b4/gfx/gl/GLContextProviderImpl.h:17:7: note: in expansion of macro 'GL_CONTEXT_PROVIDER_NAME'
 class GL_CONTEXT_PROVIDER_NAME
Comment 1 Jory A. Pratt gentoo-dev 2016-01-12 03:51:46 UTC
You will need to sync and test with -r6 that is in the overlay before I go tracking this down.
Comment 2 Nicholas Fish 2016-01-12 20:07:26 UTC
Created attachment 422736 [details]
Build log from failed firefox-44.0_beta6 build

Still repro on 44.0_beta6. Beginning with line 4745 of this build log:

x86_64-pc-linux-gnu-g++ -o Unified_cpp_dom_geolocation0.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/config/gcc_hidden.h -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DAB_CD=en-US -
DNO_NSPR_10_SUPPORT -I/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/dom/geolocation -I. -I/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/ff/ipc/ipdl/_ipdlheaders -I/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/ipc/chromium/src -I/var/tmp/portage/www-clien
t/firefox-44.0_beta6/work/firefox-44.0b6/ipc/glue -I/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/dom/base -I/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/dom/ipc -I../../dist/include  -I/usr/include/nspr -I/usr/include/nss       -fPIC   -DMOZILLA_CLIENT -include ../../mozil
la-config.h -MD -MP -MF .deps/Unified_cpp_dom_geolocation0.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -march=native -pipe -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED
 -freorder-blocks -Os -fomit-frame-pointer  -Wshadow   /var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/ff/dom/geolocation/Unified_cpp_dom_geolocation0.cpp
In file included from <command-line>:0:0:
./../../mozilla-config.h:123:25: error: redefinition of 'class mozilla::gl::GLContextProviderEGL'
 #define MOZ_GL_PROVIDER GLContextProviderEGL
                         ^
/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/gfx/gl/GLContextProvider.h:66:36: note: in expansion of macro 'MOZ_GL_PROVIDER'
   #define GL_CONTEXT_PROVIDER_NAME MOZ_GL_PROVIDER
                                    ^
/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/gfx/gl/GLContextProviderImpl.h:17:7: note: in expansion of macro 'GL_CONTEXT_PROVIDER_NAME'
 class GL_CONTEXT_PROVIDER_NAME
       ^
In file included from /var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/gfx/gl/GLContext.cpp:21:0,
                 from /var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/ff/gfx/gl/Unified_cpp_gfx_gl0.cpp:47:
/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/gfx/gl/GLContextProvider.h:49:34: error: previous definition of 'class mozilla::gl::GLContextProviderEGL'
 #define GL_CONTEXT_PROVIDER_NAME GLContextProviderEGL
                                  ^
/var/tmp/portage/www-client/firefox-44.0_beta6/work/firefox-44.0b6/gfx/gl/GLContextProviderImpl.h:17:7: note: in expansion of macro 'GL_CONTEXT_PROVIDER_NAME'
 class GL_CONTEXT_PROVIDER_NAME
Comment 3 Nicholas Fish 2016-01-16 21:18:42 UTC
Created attachment 423082 [details]
Build log from failed firefox-44.0_beta9 build

Keeping the bug updated. This is for firefox-44.0_beta9.

x86_64-pc-linux-gnu-g++ -o Unified_cpp_gfx_gl1.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/config/gcc_hidden.h -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DAB_CD=en-US -DNO_NSPR_
10_SUPPORT -I/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/gfx/gl -I. -I/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/ff/ipc/ipdl/_ipdlheaders -I/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/ipc/chromium/src -I/var/tmp/portage/www-client/firefox-44.0_bet
a9/work/firefox-44.0b9/ipc/glue -I../../dist/include  -I/usr/include/nspr -I/usr/include/nss       -fPIC   -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_gfx_gl1.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -march=nati
ve -pipe -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -freorder-blocks -Os -fomit-frame-pointer  -I/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/ff/dist/include/cairo -I/var/tmp/portage/www-client/firefox-44.0_beta
9/work/firefox-44.0b9/widget/gtk/compat -pthread -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pix
man-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   /var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/ff/gfx/gl/Unified_cpp_gfx_gl1.cpp
libnetwerk_protocol_viewsource.a.desc
rm -f libnetwerk_protocol_viewsource.a
/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/ff/_virtualenv/bin/python /var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/config/expandlibs_gen.py -o libnetwerk_protocol_viewsource.a.desc Unified_cpp_protocol_viewsource0.o  
In file included from <command-line>:0:0:
./../../mozilla-config.h:123:25: error: redefinition of 'class mozilla::gl::GLContextProviderEGL'
 #define MOZ_GL_PROVIDER GLContextProviderEGL
                         ^
/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/gfx/gl/GLContextProvider.h:66:36: note: in expansion of macro 'MOZ_GL_PROVIDER'
   #define GL_CONTEXT_PROVIDER_NAME MOZ_GL_PROVIDER
                                    ^
/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/gfx/gl/GLContextProviderImpl.h:17:7: note: in expansion of macro 'GL_CONTEXT_PROVIDER_NAME'
 class GL_CONTEXT_PROVIDER_NAME
       ^
In file included from /var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/gfx/gl/GLContext.cpp:21:0,
                 from /var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/ff/gfx/gl/Unified_cpp_gfx_gl0.cpp:47:
/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/gfx/gl/GLContextProvider.h:49:34: error: previous definition of 'class mozilla::gl::GLContextProviderEGL'
 #define GL_CONTEXT_PROVIDER_NAME GLContextProviderEGL
                                  ^
/var/tmp/portage/www-client/firefox-44.0_beta9/work/firefox-44.0b9/gfx/gl/GLContextProviderImpl.h:17:7: note: in expansion of macro 'GL_CONTEXT_PROVIDER_NAME'
 class GL_CONTEXT_PROVIDER_NAME
Comment 4 Jory A. Pratt gentoo-dev 2016-01-17 15:52:30 UTC
Feel free to open an upstream bug report. If you are unable to do so I will open one later today.
Comment 5 Petr Polezhaev 2016-01-27 19:38:33 UTC
Still happens on 44.0.

It seems that this code is a culprit:
gfx/gl/GLContextProvider.h:
--snip--
[...]

// Null is always there
#define GL_CONTEXT_PROVIDER_NAME GLContextProviderNull
#include "GLContextProviderImpl.h"
#undef GL_CONTEXT_PROVIDER_NAME

[...]

#if defined(MOZ_X11)
  #define GL_CONTEXT_PROVIDER_NAME GLContextProviderGLX
  #include "GLContextProviderImpl.h"
  #undef GL_CONTEXT_PROVIDER_NAME
  #define GL_CONTEXT_PROVIDER_DEFAULT GLContextProviderGLX
#endif

#define GL_CONTEXT_PROVIDER_NAME GLContextProviderEGL
#include "GLContextProviderImpl.h"
#undef GL_CONTEXT_PROVIDER_NAME
#ifndef GL_CONTEXT_PROVIDER_DEFAULT
  #define GL_CONTEXT_PROVIDER_DEFAULT GLContextProviderEGL
#endif

[...]

#ifdef MOZ_GL_PROVIDER
  #define GL_CONTEXT_PROVIDER_NAME MOZ_GL_PROVIDER
  #include "GLContextProviderImpl.h"
  #undef GL_CONTEXT_PROVIDER_NAME
  #define GL_CONTEXT_PROVIDER_DEFAULT MOZ_GL_PROVIDER
#endif

[...]
--snip--                                                                        

I kept MOZ_X11 case as an example of configuration toggleable option. EGL is not toggleable. It seems that since 44.0 it's just mandatory. And if egl USE flag is used, MOZ_GL_PROVIDER is also GLContextProviderEGL - thus it's defined twice.

This seems to be introduced by http://hg.mozilla.org/mozilla-central/rev/0cecdec0f6e1
I have no idea if that was intended. Probably EGL is just mandatory right now? It seems so.
Comment 6 Kristof Lenum 2016-01-29 13:52:28 UTC
I have the same problem..

error: previous definition of 'class mozilla::gl::GLContextProviderEGL'
 #define GL_CONTEXT_PROVIDER_NAME GLContextProviderEGL

I recently wanted to try out wayland and it required EGL use flag so I just dropped it globally. After firefox-44.0 rebuild it stops on that error.
I know I can fix this from a use flag -egl and just rebuild, but I am curious to know if the flag actually does anything besides causing the build to fail on the redefine.
Comment 7 Gino McCarty 2016-01-29 18:24:18 UTC
Same problem but I'm not using overlay this is an main portage firefox-44 now

confirmed that -egl fixes build..
Comment 8 Ian Stakenvicius (RETIRED) gentoo-dev 2016-01-29 18:44:58 UTC
(In reply to Andrian Nord from comment #5)
> I kept MOZ_X11 case as an example of configuration toggleable option. EGL is
> not toggleable. It seems that since 44.0 it's just mandatory. And if egl USE
> flag is used, MOZ_GL_PROVIDER is also GLContextProviderEGL - thus it's
> defined twice.
> 
> This seems to be introduced by
> http://hg.mozilla.org/mozilla-central/rev/0cecdec0f6e1
> I have no idea if that was intended. Probably EGL is just mandatory right
> now? It seems so.

So I'll have to admit that this is a little over my head, but based on your conclusion here as well as a comment on the upstream bug, it would seem that EGL support is no longer optional and we might be best off just removing the use flag..  Would you concurr with this?
Comment 9 Ian Stakenvicius (RETIRED) gentoo-dev 2016-01-29 19:11:15 UTC
(In reply to Ian Stakenvicius from comment #8)
> (In reply to Andrian Nord from comment #5)
> > I kept MOZ_X11 case as an example of configuration toggleable option. EGL is
> > not toggleable. It seems that since 44.0 it's just mandatory. And if egl USE
> > flag is used, MOZ_GL_PROVIDER is also GLContextProviderEGL - thus it's
> > defined twice.
> > 
> > This seems to be introduced by
> > http://hg.mozilla.org/mozilla-central/rev/0cecdec0f6e1
> > I have no idea if that was intended. Probably EGL is just mandatory right
> > now? It seems so.
> 
> So I'll have to admit that this is a little over my head, but based on your
> conclusion here as well as a comment on the upstream bug, it would seem that
> EGL support is no longer optional and we might be best off just removing the
> use flag..  Would you concurr with this?

Actually nevermind -- it looks like what essentially needs to be done here is that the redefinition needs to be prevented when it's already been requested via the --with-gl-provider config option.  Given that the 'GLContextProviderEGL' block is the only one that isn't wrapped in a conditional, I think it should suffice to make it conditional on MOZ_GL_PROVIDER -not- being defined later on.

Alternatively, maybe the whole set of things should be skipped unless MOZ_GL_PROVIDER is left undefined...  not sure.   Testing now, and I'll push the patch shortly if it all works out.
Comment 10 jhon 2016-01-30 10:27:16 UTC
Hello, I'm following this bug since FF 44 hit unstable branch (yesterday).
Have compiled FF without egl and it pass compile phase, now I noticed egl was completely removed from FF use-flags.

However, could it be that -egl effects performance? I think it deteriorated a bit...
Comment 11 Ian Stakenvicius (RETIRED) gentoo-dev 2016-01-30 13:38:15 UTC
(In reply to jhon from comment #10)
> Hello, I'm following this bug since FF 44 hit unstable branch (yesterday).
> Have compiled FF without egl and it pass compile phase, now I noticed egl
> was completely removed from FF use-flags.
> 
> However, could it be that -egl effects performance? I think it deteriorated
> a bit...

The use flag was removed because #1, EGL support cannot actually be disabled as of firefox-44, it's always built but (afaict) is only used when GLX support isn't available; and #2 because of the compile and link failures listed above.

Regarding performance, our tests on firefox-43 actually found the opposite, that is using EGL is slower than using GLX (which makes sense given it's an extra layer of abstraction).  I can't speak to that on firefox-44 but I expect the result would be similar if the option to force EGL as the default GL provider actually worked as expeted.
Comment 12 jhon 2016-02-08 11:19:48 UTC
(In reply to Ian Stakenvicius from comment #11)
> (In reply to jhon from comment #10)
> > Hello, I'm following this bug since FF 44 hit unstable branch (yesterday).
> > Have compiled FF without egl and it pass compile phase, now I noticed egl
> > was completely removed from FF use-flags.
> > 
> > However, could it be that -egl effects performance? I think it deteriorated
> > a bit...
> 
> The use flag was removed because #1, EGL support cannot actually be disabled
> as of firefox-44, it's always built but (afaict) is only used when GLX
> support isn't available; and #2 because of the compile and link failures
> listed above.
> 
> Regarding performance, our tests on firefox-43 actually found the opposite,
> that is using EGL is slower than using GLX (which makes sense given it's an
> extra layer of abstraction).  I can't speak to that on firefox-44 but I
> expect the result would be similar if the option to force EGL as the default
> GL provider actually worked as expeted.

Thanks for your response, I only just now seen it.
Comment 13 tka 2016-03-10 14:59:43 UTC
I run into this error again with firefox-45.0. Was the egl flag added back accidentally or is this error with 45.0 unexpected?

Others seem to get it too with 45.0 (see #576924).
Comment 14 Ian Stakenvicius (RETIRED) gentoo-dev 2016-03-10 15:33:44 UTC
This was an error on my part, when moving from the mozilla overlay (where we kept the flag for experimentation) to the gentoo repo.  I've dropped it again.
Comment 15 Ian Stakenvicius (RETIRED) gentoo-dev 2016-03-10 15:34:27 UTC
*** Bug 576924 has been marked as a duplicate of this bug. ***
Comment 16 Michael Palimaka (kensington) gentoo-dev 2016-03-10 15:35:05 UTC
*** Bug 576964 has been marked as a duplicate of this bug. ***
Comment 17 Christian Tietz 2016-04-28 19:22:27 UTC
The egl USE flag is back in firefox-46.0. On purpose?
Comment 18 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-28 20:03:57 UTC
(In reply to Christian Tietz from comment #17)
> The egl USE flag is back in firefox-46.0. On purpose?

uhh, nope.  Let me see what's going on with it in moz46.  Likely I will remove the flag both here and on mozilla overlay
Comment 19 Arfrever Frehtes Taifersar Arahesis 2016-04-28 20:55:53 UTC
(In reply to Ian Stakenvicius from comment #18)

You could use:

IUSE="bindist hardened +hwaccel pgo selinux +gmp-autoupdate test"
if [[ ${PORTAGE_REPO_NAME} == mozilla ]]; then
    IUSE+=" egl"
fi

...

    use_if_iuse egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL
Comment 20 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-28 23:17:30 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #19)
> (In reply to Ian Stakenvicius from comment #18)
> 
> You could use:
> 
> IUSE="bindist hardened +hwaccel pgo selinux +gmp-autoupdate test"
> if [[ ${PORTAGE_REPO_NAME} == mozilla ]]; then
>     IUSE+=" egl"
> fi
> 
> ...
> 
>     use_if_iuse egl && mozconfig_annotate 'Enable EGL as GL provider'
> --with-gl-provider=EGL

Although yes that would most likely work for Mozilla teams purposes, I try to avoid portageisms and there seems to be no way for an evils to query the repo its from in PMS right now.  Thanks for the suggestion though!  Hopefully EAPI7 will have a way to query the repo and then I can use such conditionals for a lot of experimental bits.
Comment 21 Ian Stakenvicius (RETIRED) gentoo-dev 2016-04-28 23:24:55 UTC
Flags have been dropped from 45.1 and 46.0 in Gentoo repo as of a couple of hours ago; anyone having issues please re --sync
Comment 22 gentoo 2016-08-04 02:35:59 UTC
I re-encountered this when emerging 48.0, although there is still a comment in the ebuild suggesting that the flag should only be in the mozilla overlay.
Comment 23 Ian Stakenvicius (RETIRED) gentoo-dev 2016-08-04 03:41:13 UTC
(In reply to gentoo from comment #22)
> I re-encountered this when emerging 48.0, although there is still a comment
> in the ebuild suggesting that the flag should only be in the mozilla overlay.

Yep.  Fixed again.
Comment 24 Jory A. Pratt gentoo-dev 2017-08-26 17:56:29 UTC
If you feel I have closed your bug and it is still a current issue, please reopen and update it completely. We will not work bugs that have no ebuild in tree any longer or can not be reproduced with a current system.

Thank You for your support and understanding
The Mozilla Team