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