perl: fix issues when compiling 5.34 with nvhpc compilers (#30110)

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
This commit is contained in:
Scott McMillan 2022-04-21 12:10:46 -05:00 committed by GitHub
parent ac9bd3d72d
commit 616a8eebcd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 1 deletions

View file

@ -0,0 +1,42 @@
--- a/Configure
+++ b/Configure
@@ -4862,7 +4862,7 @@
# and usrinc directly from the compiler.
# Note that ccname for clang is also gcc.
case "$ccname" in
- gcc)
+ XXX)
realpath=`which realpath 2>/dev/null | sed 's/no realpath in.*//'`
$echo 'extern int foo;' > try.c
set X `$cppstdin -v try.c 2>&1 | $awk '/^#include </,/^End of search /'|$cppfilter $grep '/include'`
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1143,7 +1143,7 @@
# But also this ensures that all extensions are built before we try to scan
# them, which picks up Devel::PPPort's documentation.
pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc
- $(RUN_PERL) -f pod/buildtoc -q
+ $(MINIPERL) -f pod/buildtoc -q
pod/perlapi.pod: pod/perlintern.pod
@@ -1200,8 +1200,8 @@
$spitshell >>$Makefile <<EOT
install_$name install-$name: \$(INSTALL_DEPENDENCE) installperl all installman
- \$(RUN_PERL) installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
- \$(RUN_PERL) installman --destdir=\$(DESTDIR) $flags
+ \$(MINIPERL) installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
+ \$(MINIPERL) installman --destdir=\$(DESTDIR) $flags
EOT
fi
@@ -1219,7 +1219,7 @@
LOCAL_PERL='$(RUN_PERL)'
$spitshell >>$Makefile <<'!NO!SUBS!'
install.perl: $(INSTALL_DEPENDENCE) installperl
- $(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+ $(MINIPERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-@test ! -s extras.lst || PATH="`pwd`:\${PATH}" PERL5LIB="`pwd`/lib" \$(RUN_PERL) -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst`
!NO!SUBS!

View file

@ -105,7 +105,7 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
# the mini Perl environment to bootstrap installation. # the mini Perl environment to bootstrap installation.
patch('nvhpc-5.30.patch', when='@5.30.0:5.30 %nvhpc') patch('nvhpc-5.30.patch', when='@5.30.0:5.30 %nvhpc')
patch('nvhpc-5.32.patch', when='@5.32.0:5.32 %nvhpc') patch('nvhpc-5.32.patch', when='@5.32.0:5.32 %nvhpc')
conflicts('@5.34.0:', when='%nvhpc') # todo, add patches... patch('nvhpc-5.34.patch', when='@5.34.0:5.34 %nvhpc')
conflicts('@5.32.0:', when='%nvhpc@:20.11', conflicts('@5.32.0:', when='%nvhpc@:20.11',
msg='The NVIDIA compilers are incompatible with version 5.32 and later') msg='The NVIDIA compilers are incompatible with version 5.32 and later')