]> git.pld-linux.org Git - packages/ruby-ffi.git/blame - ruby-ffi.spec
- libffi rebuild
[packages/ruby-ffi.git] / ruby-ffi.spec
CommitLineData
4ae334f6 1#
bac43acd
ER
2# Conditional build:
3%bcond_without tests # build without tests
4
7f59e59c 5%define pkgname ffi
5d8a12a9 6Summary: FFI Extensions for Ruby
4ae334f6 7Summary(pl.UTF-8): Rozszerzenia FFI dla języka Ruby
7f59e59c 8Name: ruby-%{pkgname}
947bc9d0 9Version: 1.9.3
5bebcc2d 10Release: 2
947bc9d0 11License: BSD
5d8a12a9 12Group: Development/Languages
7f59e59c 13Source0: http://rubygems.org/gems/%{pkgname}-%{version}.gem
947bc9d0 14# Source0-md5: 1b5ab133fb1b861eeb7c7a8dbaa0acf4
4ae334f6 15Patch0: %{name}-platform.patch
5d8a12a9
ER
16URL: http://wiki.github.com/ffi/ffi
17BuildRequires: libffi-devel
18BuildRequires: rpm-rubyprov
60db665a 19BuildRequires: rpmbuild(macros) >= 1.665
5d8a12a9 20BuildRequires: setup.rb
bac43acd
ER
21%if %{with tests}
22BuildRequires: ruby-rspec
ed0d1fdb 23BuildRequires: ruby-rspec-mocks
bac43acd 24%endif
4ae334f6 25ExclusiveArch: %{ix86} %{x8664} arm ia64 mips mipsel ppc s390 s390x sparc sparcv9
5d8a12a9
ER
26BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27
28%description
4ae334f6 29Ruby-FFI is a Ruby extension for programmatically loading dynamic
5d8a12a9
ER
30libraries, binding functions within them, and calling those functions
31from Ruby code. Moreover, a Ruby-FFI extension works without changes
32on Ruby and JRuby. Discover why should you write your next extension
33using Ruby-FFI here: <http://wiki.github.com/ffi/ffi/why-use-ffi>.
34
4ae334f6
JB
35%description -l pl.UTF-8
36Ruby-FFI to rozszerzenie języka Ruby do programowego ładowania
37bibliotek dynamicznych, wiązania obecnych w nich funkcji oraz
38wywoływania tych funkcji z kodu w języku Ruby. Co więcej, rozszerzenie
39Ruby-FFI działa bez zmian w implementacji Ruby oraz JRuby. Informacje,
40dlaczego nowe rozszerzenia powinny używać Ruby-FFI, można znaleźć na
41stronie <http://wiki.github.com/ffi/ffi/why-use-ffi>.
42
5d8a12a9 43%prep
7f59e59c 44%setup -q -n %{pkgname}-%{version}
4ae334f6 45%patch0 -p1
5d8a12a9 46
336d53d2 47# be sure to use system ffi
4ae334f6 48%{__rm} -r ext/ffi_c/libffi
336d53d2 49
a2262c61 50# drop not our targets
4ae334f6
JB
51%{__rm} -r lib/ffi/platform/*-{aix,cygwin,darwin,gnu,*bsd,solaris,windows}
52# provide only definitions for package architecture
53%ifnarch arm
54%{__rm} -r lib/ffi/platform/arm-*
55%endif
56%ifnarch %{ix86}
57%{__rm} -r lib/ffi/platform/i386-*
58%endif
59%ifnarch ia64
60%{__rm} -r lib/ffi/platform/ia64-*
61%endif
62%ifnarch mips
63%{__rm} -r lib/ffi/platform/mips-*
64%endif
65%ifnarch mipsel
66%{__rm} -r lib/ffi/platform/mipsel-*
67%endif
68%ifnarch powerpc
69%{__rm} -r lib/ffi/platform/powerpc-*
70%endif
71%ifnarch s390
72%{__rm} -r lib/ffi/platform/s390-*
73%endif
74%ifnarch s390x
75%{__rm} -r lib/ffi/platform/s390x-*
76%endif
77%ifnarch sparc
78%{__rm} -r lib/ffi/platform/sparc-*
79%endif
80%ifnarch %{x8664}
81%{__rm} -r lib/ffi/platform/x86_64-*
82%endif
a2262c61 83
5d8a12a9
ER
84# ext build
85cp -p %{_datadir}/setup.rb .
86
87%build
60db665a
ER
88%__gem_helper spec
89
5d8a12a9
ER
90%{__ruby} setup.rb config \
91 --rbdir=%{ruby_rubylibdir} \
0cbc2159
ER
92 --sodir=%{ruby_archdir} \
93 --makeprog=true
5d8a12a9
ER
94
95%{__ruby} setup.rb setup
96
0cbc2159
ER
97%{__make} -C ext/ffi_c \
98 CC="%{__cc}"
99
5d8a12a9 100%if %{with tests}
0cbc2159
ER
101%{__make} -f libtest/GNUmakefile \
102 CCACHE= \
103 CC="%{__cc}"
ed0d1fdb
ER
104ruby -Ilib:ext/ffi_c -S \
105 rspec spec
5d8a12a9
ER
106%endif
107
108%install
109rm -rf $RPM_BUILD_ROOT
4ae334f6 110install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_vendorarchdir}/ffi,%{ruby_specdir}}
5d8a12a9
ER
111cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
112install -p ext/ffi_c/ffi_c.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}
4ae334f6 113%{__mv} $RPM_BUILD_ROOT%{ruby_vendorlibdir}/ffi/platform $RPM_BUILD_ROOT%{ruby_vendorarchdir}/ffi
60db665a 114cp -p %{pkgname}-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
5d8a12a9
ER
115
116%clean
117rm -rf $RPM_BUILD_ROOT
118
119%files
120%defattr(644,root,root,755)
947bc9d0 121%doc README.md LICENSE
5d8a12a9
ER
122%{ruby_vendorlibdir}/ffi.rb
123%{ruby_vendorlibdir}/ffi
124%attr(755,root,root) %{ruby_vendorarchdir}/ffi_c.so
4ae334f6
JB
125%dir %{ruby_vendorarchdir}/ffi
126%{ruby_vendorarchdir}/ffi/platform
7f59e59c 127%{ruby_specdir}/%{pkgname}-%{version}.gemspec
This page took 0.049852 seconds and 4 git commands to generate.