From 176c1daa9c86574370fdf5ebfd23dd0edd163bdd Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Tue, 31 Aug 2021 10:49:06 +0200 Subject: dev-lang/perl: append required cflags when x-compiling The cross-build system wants to append cflags required by the build to the 'optimize' variable, but doesn't touch the variable when the user overrides it. Since the ebuild passes '-Doptimize="${CFLAGS}"', we are responsible for passing the correct flags, so append '-fwrapv -fno-strict-aliasing' to cflags when we are cross-compiling. Bug: https://bugs.gentoo.org/811237 Reported-by: Github User DRKV333 Signed-off-by: Jeremi Piotrowski Closes: https://github.com/gentoo/gentoo/pull/22167 Signed-off-by: Sam James --- dev-lang/perl/perl-5.32.1.ebuild | 5 +++++ dev-lang/perl/perl-5.34.0-r1.ebuild | 5 +++++ dev-lang/perl/perl-5.34.0-r2.ebuild | 5 +++++ dev-lang/perl/perl-5.34.0.ebuild | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/dev-lang/perl/perl-5.32.1.ebuild b/dev-lang/perl/perl-5.32.1.ebuild index 149bcd1b6243..97963cf4402c 100644 --- a/dev-lang/perl/perl-5.32.1.ebuild +++ b/dev-lang/perl/perl-5.32.1.ebuild @@ -585,6 +585,11 @@ src_configure() { myconf -DDEBUGGING=none fi + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv -fno-strict-aliasing" + fi + # Autodiscover all old version directories, some of them will even be newer # if you downgrade if [[ -z ${PERL_OLDVERSEN} ]]; then diff --git a/dev-lang/perl/perl-5.34.0-r1.ebuild b/dev-lang/perl/perl-5.34.0-r1.ebuild index 6d709db3098e..8f4017c8989f 100644 --- a/dev-lang/perl/perl-5.34.0-r1.ebuild +++ b/dev-lang/perl/perl-5.34.0-r1.ebuild @@ -585,6 +585,11 @@ src_configure() { myconf -DDEBUGGING=none fi + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv -fno-strict-aliasing" + fi + # Autodiscover all old version directories, some of them will even be newer # if you downgrade if [[ -z ${PERL_OLDVERSEN} ]]; then diff --git a/dev-lang/perl/perl-5.34.0-r2.ebuild b/dev-lang/perl/perl-5.34.0-r2.ebuild index 37a81ddac847..2ec3fee9bfad 100644 --- a/dev-lang/perl/perl-5.34.0-r2.ebuild +++ b/dev-lang/perl/perl-5.34.0-r2.ebuild @@ -586,6 +586,11 @@ src_configure() { myconf -DDEBUGGING=none fi + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv -fno-strict-aliasing" + fi + # Autodiscover all old version directories, some of them will even be newer # if you downgrade if [[ -z ${PERL_OLDVERSEN} ]]; then diff --git a/dev-lang/perl/perl-5.34.0.ebuild b/dev-lang/perl/perl-5.34.0.ebuild index 6af9e5af88fe..a9aa55e7376c 100644 --- a/dev-lang/perl/perl-5.34.0.ebuild +++ b/dev-lang/perl/perl-5.34.0.ebuild @@ -582,6 +582,11 @@ src_configure() { myconf -DDEBUGGING=none fi + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv -fno-strict-aliasing" + fi + # Autodiscover all old version directories, some of them will even be newer # if you downgrade if [[ -z ${PERL_OLDVERSEN} ]]; then -- cgit v1.2.3-65-gdbad