commit b4e347e7acc05ee3476820cf8c2a3739affb2fbc Author: Adam Osuchowski <ad...@pld-linux.org> Date: Wed Jan 3 15:36:40 2018 +0100
- up to 1.10 perl-FFI-xs.patch | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ perl-FFI.spec | 8 +++++--- 2 files changed, 65 insertions(+), 3 deletions(-) --- diff --git a/perl-FFI.spec b/perl-FFI.spec index 7cedc18..25f7bfb 100644 --- a/perl-FFI.spec +++ b/perl-FFI.spec @@ -6,13 +6,14 @@ %include /usr/lib/rpm/macros.perl Summary: FFI - Perl Foreign Function Interface based on GNU ffcall Name: perl-FFI -Version: 1.09 +Version: 1.10 Release: 1 License: GPL v1+ or Artistic Group: Development/Languages/Perl Source0: http://www.cpan.org/modules/by-module/%{pdir}/%{pdir}-%{version}.tar.gz -# Source0-md5: 0c0e575e6440ea8fa39e132eada55ce4 +# Source0-md5: 2ec37468af2b5b820ec716ab557ddf58 Patch0: %{name}-Makefile.patch +Patch1: %{name}-xs.patch URL: http://search.cpan.org/dist/FFI/ BuildRequires: ffcall-devel BuildRequires: perl-devel >= 1:5.8.0 @@ -29,6 +30,7 @@ addresses can be passed to C code. %prep %setup -q -n %{pdir}-%{version} %patch0 -p1 +%patch1 -p1 %build %{__perl} Makefile.PL \ @@ -50,7 +52,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc Changes README TODO +%doc Changes README.md TODO %{perl_vendorarch}/FFI.pm %{perl_vendorarch}/FFI/Library.pm %attr(755,root,root) %{perl_vendorarch}/auto/FFI/*.so diff --git a/perl-FFI-xs.patch b/perl-FFI-xs.patch new file mode 100644 index 0000000..7744ecc --- /dev/null +++ b/perl-FFI-xs.patch @@ -0,0 +1,60 @@ +--- FFI-1.10.orig/FFI.xs 2015-08-01 19:56:20.000000000 +0200 ++++ FFI-1.10/FFI.xs 2018-01-03 15:34:24.274284289 +0100 +@@ -26,7 +26,7 @@ + SV *code; + char sig[1]; + } +-callback_data; ++callback_data_priv; + + static void callback_fn (void *data, va_alist av) + { +@@ -35,7 +35,7 @@ + general arg; + int i = 0; + int flags = G_SCALAR; +- callback_data *cb = data; ++ callback_data_priv *cb = data; + + switch (cb->sig[1]) + { +@@ -195,11 +195,6 @@ + case 'p': av_start_ptr(av, addr, char*, &rv.p); break; + } + +- #ifdef WIN32 /* Set via Makefile.PL */ +- if (sig[0] == 's') +- av.flags |= __AV_STDCALL_CLEANUP; +- #endif +- + for (i = 2; i < items; ++i) + { + STRLEN l; +@@ -251,12 +246,12 @@ + SV *fn; + PREINIT: + int cb; +- callback_data *data; ++ callback_data_priv *data; + SV *ret; + HV *stash; + PPCODE: + validate_signature(sig); +- Newc(0, data, sizeof(callback_data) + strlen(sig), char, callback_data); ++ Newc(0, data, sizeof(callback_data_priv) + strlen(sig), char, callback_data_priv); + data->code = newSVsv(fn); + strcpy(data->sig, sig); + cb = (int)alloc_callback(callback_fn, data); +@@ -278,10 +273,10 @@ + SV *self; + PREINIT: + IV cb; +- callback_data *data; ++ callback_data_priv *data; + PPCODE: + cb = SvIV(SvRV(self)); +- data = (callback_data*)callback_data((void*)cb); ++ data = (callback_data_priv*)callback_data((void*)cb); + SvREFCNT_dec(data->code); + Safefree(data); + free_callback((void*)cb); ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/perl-FFI.git/commitdiff/b4e347e7acc05ee3476820cf8c2a3739affb2fbc _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit