diff --git a/ExtUtils-CBuilder-0.280230-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch b/ExtUtils-CBuilder-0.280230-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch new file mode 100644 index 0000000..ff75888 --- /dev/null +++ b/ExtUtils-CBuilder-0.280230-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch @@ -0,0 +1,64 @@ +From f55b546a261651ad76a2a339768a599a4d84b4f5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Wed, 3 Jul 2013 11:01:02 +0200 +Subject: [PATCH] Link XS modules to libperl.so with EU::CBuilder on Linux +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + +Signed-off-by: Petr Písař +--- + MANIFEST | 1 + + lib/ExtUtils/CBuilder/Platform/linux.pm | 25 +++++++++++++++++++++++++ + 2 files changed, 26 insertions(+) + create mode 100644 lib/ExtUtils/CBuilder/Platform/linux.pm + +diff --git a/MANIFEST b/MANIFEST +index fdc8bd9..a7de63a 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -25,6 +25,7 @@ lib/ExtUtils/CBuilder/Platform/android.pm + lib/ExtUtils/CBuilder/Platform/cygwin.pm + lib/ExtUtils/CBuilder/Platform/darwin.pm + lib/ExtUtils/CBuilder/Platform/dec_osf.pm ++lib/ExtUtils/CBuilder/Platform/linux.pm + lib/ExtUtils/CBuilder/Platform/os2.pm + t/00-have-compiler.t + t/01-basic.t +diff --git a/lib/ExtUtils/CBuilder/Platform/linux.pm b/lib/ExtUtils/CBuilder/Platform/linux.pm +new file mode 100644 +index 0000000..823f852 +--- /dev/null ++++ b/lib/ExtUtils/CBuilder/Platform/linux.pm +@@ -0,0 +1,25 @@ ++package ExtUtils::CBuilder::Platform::linux; ++ ++use strict; ++use ExtUtils::CBuilder::Platform::Unix; ++use File::Spec; ++ ++our $VERSION = '0.280230'; ++our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); ++ ++sub link { ++ my ($self, %args) = @_; ++ my $cf = $self->{config}; ++ ++ # Link XS modules to libperl.so explicitly because multiple ++ # dlopen(, RTLD_LOCAL) hides libperl symbols from XS module. ++ local $cf->{lddlflags} = $cf->{lddlflags}; ++ if ($ENV{PERL_CORE}) { ++ $cf->{lddlflags} .= ' -L' . $self->perl_inc(); ++ } ++ $cf->{lddlflags} .= ' -lperl'; ++ ++ return $self->SUPER::link(%args); ++} ++ ++1; +-- +2.13.6 + diff --git a/ExtUtils-CBuilder-0.280230.tar.gz b/ExtUtils-CBuilder-0.280230.tar.gz new file mode 100644 index 0000000..6e004f4 Binary files /dev/null and b/ExtUtils-CBuilder-0.280230.tar.gz differ diff --git a/perl-ExtUtils-CBuilder.spec b/perl-ExtUtils-CBuilder.spec new file mode 100644 index 0000000..3761c72 --- /dev/null +++ b/perl-ExtUtils-CBuilder.spec @@ -0,0 +1,61 @@ +Name: perl-ExtUtils-CBuilder +Version: 0.280230 +Release: 418 +Summary: Build the C portions of Perl modules +License: GPL+ or Artistic +URL: https://metacpan.org/release/ExtUtils-CBuilder +Source0: https://cpan.metacpan.org/authors/id/A/AM/AMBS/ExtUtils-CBuilder-%{version}.tar.gz +Patch0001: ExtUtils-CBuilder-0.280230-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch +BuildArch: noarch +Epoch: 1 +BuildRequires: make perl-generators perl-interpreter perl(ExtUtils::MakeMaker) >= 6.76 +BuildRequires: perl(strict) perl(warnings) perl(Config) perl(Cwd) perl(DynaLoader) +BuildRequires: perl(File::Basename) perl(File::Path) perl(File::Spec) >= 3.13 +BuildRequires: perl(File::Temp) perl(IPC::Cmd) perl(Perl::OSType) >= 1 +BuildRequires: perl(Text::ParseWords) perl-devel gcc-c++ perl(Test::More) >= 0.47 +Requires: gcc-c++ perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: perl(DynaLoader) perl(ExtUtils::Mksymlists) >= 6.30 perl(File::Spec) >= 3.13 +Requires: perl(Perl::OSType) >= 1 perl-devel + +%{?perl_default_filter} +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\((File::Spec|Perl::OSType)\\)$ + +%description +This module can build the C portions of Perl modules by invoking the +appropriate compilers and linkers in a cross-platform manner. It was +motivated by the 'Module::Build' project, but may be useful for other +purposes as well. However, it is _not_ intended as a general cross-platform +interface to all your C building needs. That would have been a much more +ambitious goal! + +%package help +Summary: Help documents for perl-ExtUtils-CBuilder + +%description help +This package provides man pages and other related help documents for perl-ExtUtils-CBuilder. + +%prep +%autosetup -n ExtUtils-CBuilder-%{version} -p1 + +%build +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 +%make_build + +%install +make pure_install DESTDIR=$RPM_BUILD_ROOT +%{_fixperms} $RPM_BUILD_ROOT/* + +%check +make test + +%files +%license LICENSE +%{perl_vendorlib}/* + +%files help +%doc Changes CONTRIBUTING README README.mkdn +%{_mandir}/man3/* + +%changelog +* Wed Nov 27 2019 yanzhihua - 1:0.280230-418 +- Package init