packages: libprelude/libprelude-ruby.patch, libprelude/libprelude.spec - en...

qboosh qboosh at pld-linux.org
Tue Aug 9 17:42:25 CEST 2011


Author: qboosh                       Date: Tue Aug  9 15:42:25 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- enhanced ruby patch with more changes needed for 1.9; package ruby binding

---- Files affected:
packages/libprelude:
   libprelude-ruby.patch (1.1 -> 1.2) , libprelude.spec (1.31 -> 1.32) 

---- Diffs:

================================================================
Index: packages/libprelude/libprelude-ruby.patch
diff -u packages/libprelude/libprelude-ruby.patch:1.1 packages/libprelude/libprelude-ruby.patch:1.2
--- packages/libprelude/libprelude-ruby.patch:1.1	Sun Aug  7 19:53:08 2011
+++ packages/libprelude/libprelude-ruby.patch	Tue Aug  9 17:42:20 2011
@@ -9,3 +9,82 @@
    AC_SUBST([RUBY_INCLUDES])
  
    dnl pkgrbexecdir -- $(rbexecdir)/$(PACKAGE)
+--- libprelude-1.0.0/bindings/ruby/libpreludecpp-ruby.i.orig	2011-08-07 21:07:53.936358340 +0200
++++ libprelude-1.0.0/bindings/ruby/libpreludecpp-ruby.i	2011-08-08 20:26:34.566624741 +0200
+@@ -21,8 +21,9 @@
+ 
+ %{
+ extern "C" {
+-#include "rubyio.h"
++#include "ruby/io.h"
+ }
++#define OpenFile rb_io_t
+ %};
+ 
+ 
+@@ -49,7 +50,7 @@
+         VALUE *io = (VALUE *) prelude_msgbuf_get_data(fd);
+ 
+         GetOpenFile(*io, fptr);
+-        f = fptr->f;
++        f = fptr->stdio_file;
+ 
+         ret = fwrite((const char *) prelude_msg_get_message_data(msg), 1, prelude_msg_get_len(msg), f);
+         if ( ret != prelude_msg_get_len(msg) )
+@@ -69,7 +70,7 @@
+         VALUE *io = (VALUE *) prelude_io_get_fdptr(fd);
+ 
+         GetOpenFile(*io, fptr);
+-        f = fptr->f;
++        f = fptr->stdio_file;
+ 
+         ret = fread(buf, 1, size, f);
+         if ( ret < 0 )
+@@ -119,7 +120,7 @@
+ VALUE IDMEFValueList_to_SWIG(const Prelude::IDMEFValue &value)
+ {
+         VALUE ary;
+-        int ret, j = 0;
++        int ret;
+         std::vector<Prelude::IDMEFValue> result = value;
+         std::vector<Prelude::IDMEFValue>::const_iterator i;
+ 
+@@ -132,11 +133,9 @@
+                 if ( ret < 0 )
+                         return Qnil;
+ 
+-                RARRAY(ary)->ptr[j++] = val;
++                rb_ary_push(ary, val);
+         }
+ 
+-        RARRAY(ary)->len = result.size();
+-
+         return ary;
+ }
+ }
+@@ -166,7 +165,7 @@
+         __initial_thread = (gl_thread_t) gl_thread_self();
+ 
+         rbargv = rb_const_get(rb_cObject, rb_intern("ARGV"));
+-        argc = RARRAY(rbargv)->len + 1;
++        argc = RARRAY_LEN(rbargv) + 1;
+ 
+         if ( argc + 1 < 0 )
+                 throw PreludeError("Invalid argc length");
+@@ -175,11 +174,12 @@
+         if ( ! argv )
+                 throw PreludeError("Allocation failure");
+ 
+-        argv[0] = STR2CSTR(rb_gv_get("$0"));
++        VALUE argv0 = rb_gv_get("$0");
++        argv[0] = StringValuePtr(argv0);
+ 
+-        ptr = RARRAY(rbargv)->ptr;
+-        for ( ptr = RARRAY(rbargv)->ptr, _i = 1; _i < argc; _i++, ptr++ )
+-                argv[_i] =  STR2CSTR(*ptr);
++        ptr = RARRAY_PTR(rbargv);
++        for ( ptr = RARRAY_PTR(rbargv), _i = 1; _i < argc; _i++, ptr++ )
++                argv[_i] =  StringValuePtr(*ptr);
+ 
+         argv[_i] = NULL;
+ 

================================================================
Index: packages/libprelude/libprelude.spec
diff -u packages/libprelude/libprelude.spec:1.31 packages/libprelude/libprelude.spec:1.32
--- packages/libprelude/libprelude.spec:1.31	Sun Aug  7 19:53:08 2011
+++ packages/libprelude/libprelude.spec	Tue Aug  9 17:42:20 2011
@@ -4,7 +4,7 @@
 %bcond_without	lua	# Lua (5.1) bindings
 %bcond_without	perl	# Perl bindings
 %bcond_without	python	# Python bindings (required by prewikka)
-%bcond_with	ruby	# Ruby bindings (not ready for 1.9 yet)
+%bcond_without	ruby	# Ruby bindings
 #
 %include	/usr/lib/rpm/macros.perl
 Summary:	The Prelude library
@@ -35,7 +35,7 @@
 BuildRequires:	rpm-perlprov
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.219
-%{?with_ruby:BuildRequires:	ruby-devel >= 1.8, ruby-devel < 1.9}
+%{?with_ruby:BuildRequires:	ruby-devel >= 1.9}
 BuildRequires:	sed >= 4.0
 %{?with_perl:BuildRequires: swig-perl}
 %{?with_python:BuildRequires: swig-python}
@@ -104,16 +104,16 @@
 Statyczna biblioteka libprelude.
 
 %package -n lua-prelude
-Summary:	libprelude Lua bindings
-Summary(pl.UTF-8):	Dowiązania języka Lua do libprelude
+Summary:	PreludeEasy - libprelude Lua bindings
+Summary(pl.UTF-8):	PreludeEasy - dowiązania języka Lua do libprelude
 Group:		Development/Languages
 Requires:	%{name} = %{version}-%{release}
 
 %description -n lua-prelude
-libprelude Lua bindings.
+PreludeEasy - libprelude Lua bindings.
 
 %description -n lua-prelude -l pl.UTF-8
-Dowiązania języka Lua do libprelude.
+PreludeEasy - dowiązania języka Lua do libprelude.
 
 %package -n perl-libprelude
 Summary:	libprelude Perl bindings
@@ -139,10 +139,21 @@
 %description -n python-libprelude -l pl.UTF-8
 Dowiązania Pythona dla libprelude.
 
+%package -n ruby-prelude
+Summary:	PreludeEasy - libprelude Ruby bindings
+Summary(pl.UTF-8):	PreludeEasy - dowiązania języka Ruby do libprelude
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description -n ruby-prelude
+PreludeEasy - libprelude Ruby bindings.
+
+%description -n ruby-prelude -l pl.UTF-8
+PreludeEasy - dowiązania języka Ruby do libprelude.
+
 %prep
 %setup -q
 %patch0 -p1
-%{?with_ruby:%patch1 -p1}
 
 %if %{with python}
 # regenerate with fresh swig for gcc 4.6+
@@ -150,9 +161,8 @@
 %endif
 %if %{with ruby}
 # same for ruby 1.9
-sed -i -e 's,"rubyio.h","ruby/io.h",' bindings/ruby/libpreludecpp-ruby.i
 %{__rm} bindings/ruby/PreludeEasy.cxx
-# TODO: more
+%patch1 -p1
 %endif
 
 sed -i -e 's/lua >= 5.1/lua51 >= 5.1/' configure.in
@@ -180,13 +190,16 @@
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+%if %{with lua}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/PreludeEasy.{la,a}
+%endif
 %if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 %py_postclean
 %endif
-%if %{with lua}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/PreludeEasy.{la,a}
+%if %{with ruby}
+%{__rm} $RPM_BUILD_ROOT%{ruby_sitearchdir}/PreludeEasy.{la,a}
 %endif
 
 %clean
@@ -262,12 +275,21 @@
 %{py_sitedir}/PreludeEasy-*.egg-info
 %endif
 
+%if %{with ruby}
+%files -n ruby-prelude
+%defattr(644,root,root,755)
+%attr(755,root,root) %{ruby_sitearchdir}/PreludeEasy.so
+%endif
+
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
 * %{date} PLD Team <feedback at pld-linux.org>
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.32  2011/08/09 15:42:20  qboosh
+- enhanced ruby patch with more changes needed for 1.9; package ruby binding
+
 Revision 1.31  2011/08/07 17:53:08  qboosh
 - refresh PreludeEasy python binding from SWIG sources (needed for gcc 4.6+)
 - package perl PreludeEasy plugin
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libprelude/libprelude-ruby.patch?r1=1.1&r2=1.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libprelude/libprelude.spec?r1=1.31&r2=1.32&f=u



More information about the pld-cvs-commit mailing list