[packages/perl-FFI] - up to 1.10

adwol adwol at pld-linux.org
Wed Jan 3 15:37:20 CET 2018


commit b4e347e7acc05ee3476820cf8c2a3739affb2fbc
Author: Adam Osuchowski <adwol at 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



More information about the pld-cvs-commit mailing list