From: Jakub Piotr Cłapa Date: Thu, 22 Aug 2019 08:55:03 +0000 (+0200) Subject: perl: fixed host compilation of static perl on MacOS X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=3954356a23b4045caa9a8e2dfd9315c7a947d7ef;p=openwrt-packages.git perl: fixed host compilation of static perl on MacOS All symbols on MacOS are prefixed with an underscore which interfered with the filtering mechanism (added in perl 5.28) for extension libraries to be linked into static perl. Signed-off-by: Jakub Piotr Cłapa --- diff --git a/lang/perl/Makefile b/lang/perl/Makefile index 7c7dde21c..465d5768c 100644 --- a/lang/perl/Makefile +++ b/lang/perl/Makefile @@ -11,7 +11,7 @@ include perlver.mk PKG_NAME:=perl PKG_VERSION:=$(PERL_VERSION) -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_URL:=\ https://cpan.metacpan.org/src/5.0 \ diff --git a/lang/perl/patches/301-fix_macos_static_linking.patch b/lang/perl/patches/301-fix_macos_static_linking.patch new file mode 100644 index 000000000..4b4ef925e --- /dev/null +++ b/lang/perl/patches/301-fix_macos_static_linking.patch @@ -0,0 +1,19 @@ +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -2738,14 +2738,14 @@ sub _find_static_libs { + + Called by a utility method of makeaperl. Checks whether a given file + is an XS library by seeing whether it defines any symbols starting +-with C. ++with C (with an optional leading underscore – needed on MacOS). + + =cut + + sub xs_static_lib_is_xs { + my ($self, $libfile) = @_; + my $devnull = File::Spec->devnull; +- return `nm $libfile 2>$devnull` =~ /\bboot_/; ++ return `nm $libfile 2>$devnull` =~ /\b_?boot_/; + } + + =item makefile (o)