2 # - rm files in platform dir (and make not noarch?)
4 %bcond_without tests # build without tests
7 Summary: FFI Extensions for Ruby
12 Group: Development/Languages
13 Source0: http://rubygems.org/gems/%{pkgname}-%{version}.gem
14 # Source0-md5: 1b5ab133fb1b861eeb7c7a8dbaa0acf4
15 URL: http://wiki.github.com/ffi/ffi
16 BuildRequires: libffi-devel
17 BuildRequires: rpm-rubyprov
18 BuildRequires: rpmbuild(macros) >= 1.665
19 BuildRequires: setup.rb
21 BuildRequires: ruby-rspec
22 BuildRequires: ruby-rspec-mocks
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 Ruby-FFI is a ruby extension for programmatically loading dynamic
28 libraries, binding functions within them, and calling those functions
29 from Ruby code. Moreover, a Ruby-FFI extension works without changes
30 on Ruby and JRuby. Discover why should you write your next extension
31 using Ruby-FFI here: <http://wiki.github.com/ffi/ffi/why-use-ffi>.
34 %setup -q -n %{pkgname}-%{version}
36 # be sure to use system ffi
37 rm -r ext/ffi_c/libffi
39 # drop not our targets
40 rm -rv lib/ffi/platform/*-{cygwin,darwin,gnu,*bsd,solaris,windows}
41 # not in pld th, so drop
42 rm -rv lib/ffi/platform/arm-*
43 rm -rv lib/ffi/platform/ia64-*
44 rm -rv lib/ffi/platform/mips*
45 rm -rv lib/ffi/platform/powerpc-*
46 rm -rv lib/ffi/platform/s390*
47 rm -rv lib/ffi/platform/sparc*
50 cp -p %{_datadir}/setup.rb .
55 %{__ruby} setup.rb config \
56 --rbdir=%{ruby_rubylibdir} \
57 --sodir=%{ruby_archdir} \
60 %{__ruby} setup.rb setup
62 %{__make} -C ext/ffi_c \
66 %{__make} -f libtest/GNUmakefile \
69 ruby -Ilib:ext/ffi_c -S \
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_vendorarchdir},%{ruby_specdir}}
76 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
77 install -p ext/ffi_c/ffi_c.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}
78 cp -p %{pkgname}-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
81 rm -rf $RPM_BUILD_ROOT
84 %defattr(644,root,root,755)
85 %doc README.md LICENSE
86 %{ruby_vendorlibdir}/ffi.rb
87 %{ruby_vendorlibdir}/ffi
88 %attr(755,root,root) %{ruby_vendorarchdir}/ffi_c.so
89 %{ruby_specdir}/%{pkgname}-%{version}.gemspec