]> git.pld-linux.org Git - packages/ruby-ffi-yajl.git/blame - ruby-ffi-yajl.spec
build C extension
[packages/ruby-ffi-yajl.git] / ruby-ffi-yajl.spec
CommitLineData
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
9Summary: Ruby FFI wrapper around YAJL 2.x
10Name: ruby-%{pkgname}
11Version: 1.2.0
a3cad48c 12Release: 0.2
895d5e01
ER
13License: Apache v2.0
14Group: Development/Languages
15Source0: http://rubygems.org/downloads/%{pkgname}-%{version}.gem
16# Source0-md5: d507e47bd318e13b546b1b1f9c90a3fd
17URL: http://github.com/opscode/ffi-yajl
18BuildRequires: rpm-rubyprov
19BuildRequires: rpmbuild(macros) >= 1.656
20BuildRequires: ruby-devel
21BuildRequires: sed >= 4.0
22%if %{with tests}
23BuildRequires: ruby-mime-types < 2
24BuildRequires: ruby-mime-types >= 1.16
25BuildRequires: ruby-pry < 1
26BuildRequires: ruby-pry >= 0.9
27BuildRequires: ruby-rake < 11
28BuildRequires: ruby-rake >= 10.1
29BuildRequires: ruby-rake-compiler < 0.9
30BuildRequires: ruby-rake-compiler >= 0.8.3
31BuildRequires: ruby-rspec < 3
32BuildRequires: ruby-rspec >= 2.99
33%endif
34Requires: ruby-ffi < 2
35Requires: ruby-ffi >= 1.5
36Requires: ruby-libyajl2 < 2
37Requires: ruby-libyajl2 >= 1.0
38BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40%description
41Ruby 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
48cd ext/ffi_yajl/ext/encoder
49%{__ruby} extconf.rb
50%{__make} V=1 \
51 CC="%{__cc}" \
52 LDFLAGS="%{rpmldflags}" \
53 CFLAGS="%{rpmcflags} -fPIC"
54
55cd ../parser
56%{__ruby} extconf.rb
57%{__make} V=1 \
58 CC="%{__cc}" \
59 LDFLAGS="%{rpmldflags}" \
60 CFLAGS="%{rpmcflags} -fPIC"
61
895d5e01
ER
62%install
63rm -rf $RPM_BUILD_ROOT
64install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir}}
65cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
66cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
67
a3cad48c
ER
68install -d $RPM_BUILD_ROOT%{ruby_vendorarchdir}/ffi_yajl/ext/{encoder,parser}
69install -p ext/ffi_yajl/ext/parser/parser.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}/ffi_yajl/ext/parser
70install -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
78rm -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
This page took 0.075225 seconds and 4 git commands to generate.