dev-lang/perl: Enforce toolchain `ar` in ./configure
authorKent Fredric <kentnl@gentoo.org>
Mon, 18 May 2020 05:41:46 +0000 (17:41 +1200)
committerKent Fredric <kentnl@gentoo.org>
Mon, 18 May 2020 05:44:06 +0000 (17:44 +1200)
commit4f1ee98f32a91ea3f84d1c5289d278f8012a8c6a
treeb7daf70eeebcdd5a7c5887e6e388b90a8f4b2340
parent06bc902edaafe4834145c1a9762453f1a1d83b4e
dev-lang/perl: Enforce toolchain `ar` in ./configure

This one neat trick convinces ./configure to use a correct, and
specified "ar" during configure, as auto-detection completely fails
when there is no binary named "ar" in $PATH, and despite completely
failing to detect any "ar", configure just warns, and continues as
normal, and then hardcodes that total failure of detection in
Config_heavy.pl, indicating "hey, the 'ar' perl was built with was
'ar'", despite no such thing existing, and code afterwards will then
try ( and fail ) to use that `ar` by consulting $Config{ar}

This step compeletely side-steps auto-detection, so at very least,
Config_heavy.pl contains a value that at least one time, probably
worked, and as a result, large amounts of EUMM/MB XS stuff no longer
tries to use a default `ar` that never existed.

-r1 bump required, as the consequences of this change propagate into
everything that compiles C code against Perl, and a failure to upgrade
perl with this fix results in future failures compiling other stuff

But otherwise this really is just a one line fix:

```diff
--- perl-5.30.2.ebuild 2020-04-13 01:31:59.268561073 +1200
+++ perl-5.30.2-r1.ebuild 2020-05-18 16:46:13.972962817 +1200
@@ -507,4 +507,5 @@
  -Darchname="${myarch}" \
  -Dcc="$(tc-getCC)" \
+ -Dar="$(tc-getAR)" \
  -Doptimize="${CFLAGS}" \
  -Dldflags="${LDFLAGS}" \
```

Bug: https://bugs.gentoo.org/723264
Bug: https://bugs.gentoo.org/723154
Bug: https://github.com/Perl/perl5/issues/17791
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Kent Fredric <kentnl@gentoo.org>
dev-lang/perl/perl-5.30.2-r1.ebuild [new file with mode: 0644]