[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