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;
+
%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
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}
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
%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+
%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
%{__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
%{py_sitedir}/prelude-*.egg-info
%{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