From 3954356a23b4045caa9a8e2dfd9315c7a947d7ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Piotr=20C=C5=82apa?= Date: Thu, 22 Aug 2019 10:55:03 +0200 Subject: [PATCH] perl: fixed host compilation of static perl on MacOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- lang/perl/Makefile | 2 +- .../301-fix_macos_static_linking.patch | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 lang/perl/patches/301-fix_macos_static_linking.patch diff --git a/lang/perl/Makefile b/lang/perl/Makefile index 7c7dde21c5..465d5768c4 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 0000000000..4b4ef925ea --- /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)