]>
Commit | Line | Data |
---|---|---|
a3cad48c ER |
1 | # TODO |
2 | # - separate subpackages for C extension and FFI extension? | |
3 | # - package bench as subpackage? | |
895d5e01 ER |
4 | # |
5 | # Conditional build: | |
6 | %bcond_with tests # build without tests | |
7 | ||
8 | %define pkgname ffi-yajl | |
9 | Summary: Ruby FFI wrapper around YAJL 2.x | |
10 | Name: ruby-%{pkgname} | |
11 | Version: 1.2.0 | |
a3cad48c | 12 | Release: 0.2 |
895d5e01 ER |
13 | License: Apache v2.0 |
14 | Group: Development/Languages | |
15 | Source0: http://rubygems.org/downloads/%{pkgname}-%{version}.gem | |
16 | # Source0-md5: d507e47bd318e13b546b1b1f9c90a3fd | |
17 | URL: http://github.com/opscode/ffi-yajl | |
18 | BuildRequires: rpm-rubyprov | |
19 | BuildRequires: rpmbuild(macros) >= 1.656 | |
20 | BuildRequires: ruby-devel | |
21 | BuildRequires: sed >= 4.0 | |
22 | %if %{with tests} | |
23 | BuildRequires: ruby-mime-types < 2 | |
24 | BuildRequires: ruby-mime-types >= 1.16 | |
25 | BuildRequires: ruby-pry < 1 | |
26 | BuildRequires: ruby-pry >= 0.9 | |
27 | BuildRequires: ruby-rake < 11 | |
28 | BuildRequires: ruby-rake >= 10.1 | |
29 | BuildRequires: ruby-rake-compiler < 0.9 | |
30 | BuildRequires: ruby-rake-compiler >= 0.8.3 | |
31 | BuildRequires: ruby-rspec < 3 | |
32 | BuildRequires: ruby-rspec >= 2.99 | |
33 | %endif | |
34 | Requires: ruby-ffi < 2 | |
35 | Requires: ruby-ffi >= 1.5 | |
36 | Requires: ruby-libyajl2 < 2 | |
37 | Requires: ruby-libyajl2 >= 1.0 | |
38 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
39 | ||
40 | %description | |
41 | Ruby FFI wrapper around YAJL 2.x | |
42 | ||
43 | %prep | |
44 | %setup -q -n %{pkgname}-%{version} | |
45 | %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/* | |
46 | ||
a3cad48c ER |
47 | %build |
48 | cd ext/ffi_yajl/ext/encoder | |
49 | %{__ruby} extconf.rb | |
50 | %{__make} V=1 \ | |
51 | CC="%{__cc}" \ | |
52 | LDFLAGS="%{rpmldflags}" \ | |
53 | CFLAGS="%{rpmcflags} -fPIC" | |
54 | ||
55 | cd ../parser | |
56 | %{__ruby} extconf.rb | |
57 | %{__make} V=1 \ | |
58 | CC="%{__cc}" \ | |
59 | LDFLAGS="%{rpmldflags}" \ | |
60 | CFLAGS="%{rpmcflags} -fPIC" | |
61 | ||
895d5e01 ER |
62 | %install |
63 | rm -rf $RPM_BUILD_ROOT | |
64 | install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir}} | |
65 | cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir} | |
66 | cp -a bin/* $RPM_BUILD_ROOT%{_bindir} | |
67 | ||
a3cad48c ER |
68 | install -d $RPM_BUILD_ROOT%{ruby_vendorarchdir}/ffi_yajl/ext/{encoder,parser} |
69 | install -p ext/ffi_yajl/ext/parser/parser.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}/ffi_yajl/ext/parser | |
70 | install -p ext/ffi_yajl/ext/encoder/encoder.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}/ffi_yajl/ext/encoder | |
71 | ||
895d5e01 ER |
72 | %{__rm} $RPM_BUILD_ROOT%{ruby_vendorlibdir}/ffi_yajl/benchmark.rb |
73 | %{__rm} -r $RPM_BUILD_ROOT%{ruby_vendorlibdir}/ffi_yajl/benchmark | |
74 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/ffi-yajl-bench | |
75 | %{__rm} $RPM_BUILD_ROOT%{ruby_vendorlibdir}/ffi_yajl/ext/.keep | |
76 | ||
77 | %clean | |
78 | rm -rf $RPM_BUILD_ROOT | |
79 | ||
80 | %files | |
81 | %defattr(644,root,root,755) | |
82 | %{ruby_vendorlibdir}/ffi_yajl.rb | |
83 | %dir %{ruby_vendorlibdir}/ffi_yajl | |
84 | %{ruby_vendorlibdir}/ffi_yajl/encoder.rb | |
85 | %{ruby_vendorlibdir}/ffi_yajl/ext.rb | |
86 | %{ruby_vendorlibdir}/ffi_yajl/ffi.rb | |
87 | %{ruby_vendorlibdir}/ffi_yajl/json_gem.rb | |
88 | %{ruby_vendorlibdir}/ffi_yajl/parser.rb | |
89 | %{ruby_vendorlibdir}/ffi_yajl/version.rb | |
895d5e01 ER |
90 | %dir %{ruby_vendorlibdir}/ffi_yajl/ffi |
91 | %{ruby_vendorlibdir}/ffi_yajl/ffi/encoder.rb | |
92 | %{ruby_vendorlibdir}/ffi_yajl/ffi/parser.rb | |
a3cad48c ER |
93 | |
94 | # ext | |
95 | %dir %{ruby_vendorarchdir}/ffi_yajl | |
96 | %dir %{ruby_vendorarchdir}/ffi_yajl/ext | |
97 | %dir %{ruby_vendorarchdir}/ffi_yajl/ext/encoder | |
98 | %dir %{ruby_vendorarchdir}/ffi_yajl/ext/parser | |
99 | %attr(755,root,root) %{ruby_vendorarchdir}/ffi_yajl/ext/parser/parser.so | |
100 | %attr(755,root,root) %{ruby_vendorarchdir}/ffi_yajl/ext/encoder/encoder.so |