commit:     667ba09a40bd026a636a2f5053eb463630900ed2
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 10 18:07:33 2024 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Sun Nov 10 18:15:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=667ba09a

www-client/firefox: fix building with USE=pgo and no -flto

We automatically enable lto in this case. But we also run some
conditionals too early, only in the `tc-is-lto` check, that do not get
run under USE=pgo. Specifically, we filter some -Werror=* due to
reasons.

This then means that people setting these -Werrors globally, but only
selecting certain packages to build with -flto, cannot build firefox.

(The fact that these -Werrors are disabled is another topic entirely.)

Fixes: 01ba4dc61965ef7658a24728841c04c9a1ce4871
Fixes: bcec88143087b45ba26f219efa76021e5acac391
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 www-client/firefox/firefox-128.4.0-r1.ebuild | 9 ++++++---
 www-client/firefox/firefox-131.0.3-r1.ebuild | 9 ++++++---
 www-client/firefox/firefox-132.0-r1.ebuild   | 9 ++++++---
 www-client/firefox/firefox-132.0.1-r1.ebuild | 9 ++++++---
 4 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/www-client/firefox/firefox-128.4.0-r1.ebuild 
b/www-client/firefox/firefox-128.4.0-r1.ebuild
index f0293ac98385..b9efa87c0720 100644
--- a/www-client/firefox/firefox-128.4.0-r1.ebuild
+++ b/www-client/firefox/firefox-128.4.0-r1.ebuild
@@ -463,10 +463,7 @@ pkg_setup() {
                if tc-is-lto; then
                        use_lto=yes
                        # LTO is handled via configure
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
                        filter-lto
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
                fi
 
                if use pgo ; then
@@ -480,6 +477,12 @@ pkg_setup() {
                        fi
                fi
 
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
                # Ensure we have enough disk space to compile
                if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then
                        CHECKREQS_DISK_BUILD="13500M"

diff --git a/www-client/firefox/firefox-131.0.3-r1.ebuild 
b/www-client/firefox/firefox-131.0.3-r1.ebuild
index 0ce5be76b3ca..ed68d5cbfbdd 100644
--- a/www-client/firefox/firefox-131.0.3-r1.ebuild
+++ b/www-client/firefox/firefox-131.0.3-r1.ebuild
@@ -467,10 +467,7 @@ pkg_setup() {
                if tc-is-lto; then
                        use_lto=yes
                        # LTO is handled via configure
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
                        filter-lto
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
                fi
 
                if use pgo ; then
@@ -484,6 +481,12 @@ pkg_setup() {
                        fi
                fi
 
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
                # Ensure we have enough disk space to compile
                if [[ "${use_lto}" == "yes" ]] || use pgo || use debug ; then
                        CHECKREQS_DISK_BUILD="13500M"

diff --git a/www-client/firefox/firefox-132.0-r1.ebuild 
b/www-client/firefox/firefox-132.0-r1.ebuild
index 2987f1489cb0..37aa12d27136 100644
--- a/www-client/firefox/firefox-132.0-r1.ebuild
+++ b/www-client/firefox/firefox-132.0-r1.ebuild
@@ -467,10 +467,7 @@ pkg_setup() {
                if tc-is-lto; then
                        use_lto=yes
                        # LTO is handled via configure
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
                        filter-lto
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
                fi
 
                if use pgo ; then
@@ -484,6 +481,12 @@ pkg_setup() {
                        fi
                fi
 
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
                # Ensure we have enough disk space to compile
                if [[ ${use_lto} == "yes" ]] || use pgo || use debug ; then
                        CHECKREQS_DISK_BUILD="13500M"

diff --git a/www-client/firefox/firefox-132.0.1-r1.ebuild 
b/www-client/firefox/firefox-132.0.1-r1.ebuild
index 8e645730068f..2a50427a7c44 100644
--- a/www-client/firefox/firefox-132.0.1-r1.ebuild
+++ b/www-client/firefox/firefox-132.0.1-r1.ebuild
@@ -465,10 +465,7 @@ pkg_setup() {
                if tc-is-lto; then
                        use_lto=yes
                        # LTO is handled via configure
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
                        filter-lto
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
                fi
 
                if use pgo ; then
@@ -482,6 +479,12 @@ pkg_setup() {
                        fi
                fi
 
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
                # Ensure we have enough disk space to compile
                if [[ ${use_lto} == "yes" ]] || use pgo || use debug ; then
                        CHECKREQS_DISK_BUILD="13500M"

Reply via email to